首先,我们普通地扫描目标主机,检测开放的端口: root@kali:~# nmap site.test.lanStarting Nmap 7.70 ( https://nmap.org ) at 2019–05–31 11:58 MSKNmap scan report for site.test.lan (192.168.60.50)Host is up (0.000030s latency).Not shown: 995 closed portsPORT STATE SERVICE21/tcp open ftp22/tcp open ssh80/tcp open http90/tcp open dnsix3306/tcp open mysqlMAC Address: 6E:93:12:AA:1F:6D (Unknown)接着,让我们瞄准80端口,通常web服务就在这里。一旦启用Nmap中的http-enum脚本,它将收集web服务的所有有用的信息,就如漏洞扫描器Nikto一般: nmap site.test.lan --script http-enum信息收集/ A8 `7 d- T; A8 V
从上图中,我们可以了解到该站点使用了WordPress。于是,我们可以使用针对WordPress的脚本http-wordpress-enum进行深度扫描。这个脚本还会确定网站使用了多少和WordPress相关的插件。 nmap -p80 --sc ript http-wordpress-enum --script-args http-wordpress-enum.search-limit=all site.test.lan5 l/ N1 M! i' G; p# y8 C- H" x4 I) n
一般来说,标准的Nmap中集成了近600个脚本。如果没有你需要的,也可以自己编写脚本。 权限假如我们想在站点上寻找登录授权页面,还可使用如下脚本http-auth-finder。
- h& h. s/ J2 z0 T7 W- r7 u
你也可以使用命令参数--script=auth,所有和授权有关的脚本都将被启用,对目标主机进行探测。而一旦找到和登录授权有关的页面,我们就可以尝试使用类似于http-form-brute的脚本爆破出一些账户密码: nmap -p-80 --script=http-form-brute --script-args=http-form-brute.path=/wp-login.php site.test.lan
, s/ U( [7 J. o) y( y- I; V
从上图可以看到,网站site.test.lan的管理员密码为12345。 对于WordPress来说,Nmap已做的足够出色,它获取了大量和渗透有关的信息,而如果想对WordPress进行更深一步的漏洞探测,你也可以使用已集成在kali linux中的WPScan,这款软件有大量专门针对WordPress的PoC。 SSH此外,我们也可以对22端口(SSH服务)进行密码爆破,涉及脚本为ssh-brute nmap -p22 --script ssh-brute site.test.lan
1 P6 J @5 S5 C% | FTP而通常开放在21端口的FTP服务也往往是爆破对象,我们可以先使用脚本ftp-syst获取一些服务信息: nmap -p21 --script ftp-syst site.test.lan
2 K p5 t; @6 `, d3 i1 z9 T
之后使暴力破解脚本得到FTP服务的用户密码: nmap -p21 192.168.60.50 --script ftp-brute --script-args userdb=/root/user.txt,passdb=/root/pass.txt
3 _# q9 d7 F2 A/ [6 O' l MySQLNmap也可对MySQL服务(通常开放在端口3306上)进行扫描爆破,脚本mysql-info将探测出一些MySQ服务的详细信息(需要带上命令参数-sV -sC): nmap -p3306 -sV -sC site.test.lan: t) c* S& B$ Y) F( K
你可以看到MySQL服务的协议版本号、流标识符、状态和密码salt等信息。更重要的是,你还可以列出有效的MySQL用户: nmap -p3306 --script mysql-enum site.test.lan
4 A9 m& G, H2 ^' F/ l
在得到有效用户名后,你就可以配合密码字典进行密码暴力破解。
' Q, K% Z" Q- Z7 J" i4 Q, ~# S) Y6 r |