一、弱口令检测——John the Ripper

John the Ripper工具可以帮助我们扫描出系统中密码安全性较低的用户,并将扫描后的结果显示出来。

1、安装John the Ripper:
John the Ripper的源码包提取地址:
https://pan.baidu.com/s/117J0GZ9moOHfUr-JAuOmug
提取码:n76p
也可从官网直接下载:
https://www.openwall.com/john/

[root@localhost media]# tar zxf john-1.8.0.tar.gz -C /usr/src
[root@localhost media]# cd /usr/src/john-1.8.0/src/
[root@localhost src]# make clean linux-x86-64       #在run子目录下生成一个名为john的可执行程序。
[root@localhost src]# ls ../run/john                #确认已经生成可执行程序john
../run/john

2、检测弱口令账号:

对于安装有John the Ripper的服务器中,可以直接对/etc/shadow文件进行检测,对于其他Linux服务器,可以对shadow文件进行复制,并传递给John程序进行检测,只需执行run目录下的John程序,将待检测的shadow文件作为命令行参数,就可以开始弱口令分析了:
方法1:直接检测

[root@localhost src]# cp /etc/shadow /root/a.txt                      #准备待破解的密码文件
[root@localhost src]# cd ../run
[root@localhost run]# ./john /root/a.txt           #执行暴力破解
Loaded 4 password hashes with 4 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
#扫描结果,将密码和用户名都对应显示了出来
123456           (lv)                          
123456           (zhangsan)
123456           (admin)
123456           (root)
4g 0:00:00:29 100% 2/3 0.1340g/s 394.4p/s 404.0c/s 404.0C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed
[root@localhost run]# ./john --show /root/a.txt                 #破解出的密码也将保存到源文件中
root:123456::0:99999:7:::
lv:123456:18034:0:30:7:::
zhangsan:123456:18059:0:30:7:::
admin:123456:18059:0:30:7:::

4 password hashes cracked, 0 left

方法2:使用密码字典文件进行检测:
John the Ripper默认提供的字典文件为password.lst,其中包括3000多个常见的弱口令,如果有必要,可以在字典文件中添加更多的密码组合,或者直接使用更加完整的其他字典文件:

[root@localhost run]# > john.pot                #清空已破解的密码,以便重新分析
[root@localhost run]# ./john --wordlist=./password.lst /root/a.txt         #使用密码字典进行检测
Loaded 4 password hashes with 4 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123456           (lv)
123456           (zhangsan)
123456           (admin)
123456           (root)
4g 0:00:00:00 100% 4.301g/s 103.2p/s 412.9c/s 412.9C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed

二、网络扫描——NMAP
NMAP是一个强大的端口扫描类安全评测工具,在Linux系统盘中提供了该安装包,也可去官网https://nmap.org/ 下载最新的源码包,NMAP被设计为检测众多主机数量的巨大网络,支持ping扫描、多端口检测、OS识别等多种技术,使用NMAP定期扫描内部网络,可以找出网络中不可控的应用服务,我们运维人员应该及时关闭不安全的服务,以减少安全风险。

1、安装:

[root@localhost /]# yum -y install nmap

2、扫描类型及语法实例:
①、扫描类型:

nmap [扫描类型] [选项] <扫描目标...>

其中,扫描目标可以是主机名、IP地址或网络地址等,多个目标需以空格分隔;常用的选项有“-p”、“-n”,分别用来指定扫描的端口、禁用反向DNS解析(以加快扫描速度);扫描类型决定这检测的方式,也直接影响扫描的结果。

比较常见的几种扫描类型如下:
Linux服务器的弱口令检测及端口扫描

②、语法实例:

[root@localhost /]# nmap 127.0.0.1             #扫描本机的tcp端口
Starting Nmap 6.40 ( http://nmap.org ) at 2019-06-13 05:21 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled.
Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000050s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
111/tcp open  rpcbind
631/tcp open  ipp

Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds

[root@localhost /]# nmap -sU 127.0.0.1              #扫描本机的UDP端口
Starting Nmap 6.40 ( http://nmap.org ) at 2019-06-13 05:22 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. 
Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000018s latency).
Not shown: 999 closed ports
PORT     STATE         SERVICE
5353/udp open|filtered zeroconf

Nmap done: 1 IP address (1 host up) scanned in 1.23 seconds

在上面的扫描结果中,STATE列若为open则表示端口为开放状态,为filtered表示可能被防火墙过滤,为closed表示端口为关闭状态。

[root@localhost /]# nmap -p 21 192.168.1.0/24      #检查192.168.1.0网段中哪些主机提供FTP服务。
[root@localhost /]# nmap -n -sP 192.168.1.0/24     #检查1.0网段中有哪些存活主机(能ping通)。
[root@localhost /]# nmap -p 139,445 192.168.1.1-100    #检查1.1-1.100的IP地址中是否开启文件共享服务

nmap提供的扫描类型,选项还有很多,使用于不同的扫描需求,我也只是搜集了其中一小部分。