第9章 渗透测试

本章知识点

本章节将介绍Nmap脚本对主流CMS程序、网络服务、网络病毒的检测,本章更是引入了对工控系统病毒Stuxnet检测技术。切勿将本章内容用于非法用途,请遵守相应的道德标准。

本章脚本

表9.1所示为本章节所需Nmap命令表,为方便读者查阅,笔者特此整理。

表9.1 本章所需脚本选项(名称)

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

表9.2所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计HTTP身份验证。

表9.2 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap --script http-brute -p 80目标”即可审计HTTP身份。

root@Wing:~# nmap --script http-brute -p 80 www.0day.com

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 11:26 CST
Nmap scan report for www.0day.com (173.14.243.232)
Host is up (0.0023s latency).
rDNS record for 173.14.243.232: www.zeroday.com
PORT  STATE  SERVICE
80/tcp filtered http
| http-brute:
|  Accounts
|   Patrik Karlsson:secret => Valid credentials
|  Statistics
|_  Perfomed 60023 guesses in 467 seconds, average tps: 138

Nmap done: 1 IP address (1 host up) scanned in 1.14 seconds
root@Wing:~# 


http-brute脚本可以对HTTP中的username和password进行简单的暴力破解,使用-p参数指定相关端口。如果遇到较为复杂的破解,http-brute脚本可能无法满足您的要求,此时可以借助Burpsuite设置相关变量进行破解。

表9.3所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计FTP服务器。

表9.3 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap --script ftp-brute -p 21 目标”即可审计FTP服务器。

root@Wing:~# nmap --script ftp-brute -p 21 192.168.126.128

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 11:39 CST
Nmap scan report for 192.168.126.128
Host is up (0.00027s latency).
PORT  STATE SERVICE
21/tcp open ftp
| ftp-brute: 
|  Accounts
|   No valid accounts found
|  Statistics
|   Performed 10 guesses in 9 seconds, average tps: 1
|  
|_ ERROR: Too many retries, aborted ...
MAC Address: 00:0C:29:D3:9D:B9 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 8.39 seconds
root@Wing:~# 


ftp-brute脚本可以暴力破解FTP账号密码,但上面没有破解成功,需要设置一个账号密码的字典进行爆破。

root@Wing:~# nmap --script ftp-brute --script-args userdb=user.txt,passdb=pass.txt -p 21 192.168.126.128

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 12:00 CST
Nmap scan report for 192.168.126.128
Host is up (0.00025s latency).
PORT  STATE SERVICE
21/tcp open ftp
| my-ftp-brute:
|  Accounts
|   admin:admin - Valid credentials
|  Statistics
|_  Performed 510 guesses in 610 seconds, average tps: 0
MAC Address: 00:0C:29:D3:9D:B9 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 7.99 seconds
root@Wing:~# 


设定了相关的账号密码字典后成功地破解出账号密码为admin。很多的FTP服务允许匿名登录,此时我们也可以使用ftp-anon脚本检测目标主机FTP服务是否允许匿名登录。

root@Wing:~# nmap --script=ftp-anon 192.168.1.103

Starting Nmap 6.47 ( http://nmap.org

 ) at 2015-06-28 20:25 CST
Nmap scan report for 192.168.1.103
Host is up (1.0s latency).
Not shown: 986 closed ports
PORT   STATE  SERVICE
21/tcp  open   ftp
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drw-rw-rw- 1 user group 0 Jun 16 22:18 Untitled [NSE: writeable]
|_drw-rw-rw- 1 user group 0 Jun 16 22:18 Untitled2 [NSE: writeable]
135/tcp  open   msrpc
139/tcp  open   netbios-ssn
445/tcp  open   microsoft-ds
514/tcp  filtered shell
843/tcp  open   unknown
902/tcp  open   iss-realsecure
912/tcp  open   apex-mesh
7000/tcp open   afs3-fileserver
8000/tcp open   http-alt
49152/tcp open   unknown
49153/tcp open   unknown
49155/tcp open   unknown
49157/tcp open   unknown

Nmap done: 1 IP address (1 host up) scanned in 136.62 seconds
root@Wing:~# 


从输出的信息可以得知,目标主机FTP服务允许匿名登录,并且发现Untitled、Untitled2两个目录。

表9.4所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计Wordpress程序。

表9.4 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap -p80 --script http-wordpress-brute 目标”即可审计Wordpress密码。

root@Wing:~# nmap -p80 --script http-wordpress-brute 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 12:32 CST
Nmap scan report for 192.168.126.131
Host is up (0.00023s latency).
PORT  STATE SERVICE
80/tcp open http
| http-wordpress-brute:
|  Accounts
|   root:root => Login correct
|  Statistics
|_  Perfomed 103 guesses in 17 seconds, average tps: 6
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 19.16 seconds
root@Wing:~# 


http-wordpress-brute脚本可以很好地针对Wordpress程序进行审计,通过以上的结果,我们可以看到很快就可以破解出账号密码,这对于网站的管理员来说是一个非常不错的自身检测工具。

若需要自定字典则需要设置userdb、passdb选项指定相应的字典。

root@Wing:~# nmap -p80 --script http-wordpress-brute --script-args userdb=user.txt, passdb=passwd.txt 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 12:36 CST
Nmap scan report for 192.168.126.131
Host is up (0.00023s latency).
PORT  STATE SERVICE
80/tcp open http
| http-wordpress-brute:
|  Accounts
|   root:root => Login correct
|  Statistics
|_  Perfomed 103 guesses in 17 seconds, average tps: 6
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 56.16 seconds
root@Wing:~# 


还可以设置线程数,减少破解的时间。

root@Wing:~# nmap -p80 --script http-wordpress-brute --script-args http-wordpress- brute.threads=10 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 12:40 CST
Nmap scan report for 192.168.126.131
Host is up (0.00023s latency).
PORT  STATE SERVICE
80/tcp open http
| http-wordpress-brute:
|  Accounts
|   root:root => Login correct
|  Statistics
|_  Perfomed 103 guesses in 17 seconds, average tps: 6
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 13.16 seconds
root@Wing:~# 


表9.5所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计Joomla程序。

表9.5 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap -p80 --script http-joomla-brute 目标”即可对目标Joomla程序进行账号密码的暴力破解。

root@Wing:~# nmap -p80 --script http-joomla-brute 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 12:53 CST
Nmap scan report for 192.168.126.131
Host is up (0.00036s latency).
PORT  STATE SERVICE
80/tcp open http
| http-joomla-brute:
|  Accounts
|   admin:admin => Login correct
|  Statistics
|_  Perfomed 499 guesses in 301 seconds, average tps: 0
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 42.29 seconds
root@Wing:~# 


使用http-joomla-brute脚本可以有效地审计Joomla程序,作为网站站长或是网站管理员,使用该脚本是一个非常不错的自我审计的方法。同样地,我们也可以自定义账号密码字典,进行高效率的破解。

root@Wing:~# nmap -p80 --script http-joomla-brute --script-args userdb=users.txt, passdb=passwds.txt 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 12:56 CST
Nmap scan report for 192.168.126.131
Host is up (0.00036s latency).
PORT  STATE SERVICE
80/tcp open http
| http-joomla-brute:
|  Accounts
|   admin:admin => Login correct
|  Statistics
|_  Perfomed 499 guesses in 301 seconds, average tps: 0
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 128.56 seconds
root@Wing:~# 


设置线程让破解更加高效。

root@Wing:~# nmap -p80 --script http-joomla-brute --script-args userdb=users.txt, passdb=passwds.txt,http-joomla-brute.threads=5 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:00 CST
Nmap scan report for 192.168.126.131
Host is up (0.00036s latency).
PORT  STATE SERVICE
80/tcp open http
| http-joomla-brute:
|  Accounts
|   admin:admin => Login correct
|  Statistics
|_  Perfomed 499 guesses in 301 seconds, average tps: 0
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 31.10 seconds
root@Wing:~# 


默认线程是3,我们将其设置为5。

表9.6所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计邮件服务器。

表9.6 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap -p110 --script=pop3-brute 目标”即可对目标的邮件服务器进行安全审计。

root@Wing:~# nmap -p110 --script=pop3-brute 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:04 CST
Nmap scan report for 192.168.126.131
Host is up (0.00036s latency).
PORT  STATE SERVICE
110/tcp open  pop3
| pop3-brute-ported:
| Accounts:
| user:pass => Login correct
| Statistics:
|_ Performed 8 scans in 1 seconds, average tps: 8
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 39.15 seconds
root@Wing:~# 


使用pop3-brute脚本可以对邮件服务器进行审计,若需要自定义字典则需要设置passdb、userdb两个选项指定相应的字典。

表9.7所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计SMB口令。

表9.7 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap --script smb-brute.nse -p445 目标”即可对目标SMB服务进行口令审计。

root@Wing:~# nmap --script smb-brute.nse -p445 192.168.126.128

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:10 CST
Nmap scan report for 192.168.126.128
Host is up (0.00024s latency).
PORT  STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:D3:9D:B9 (VMware)

Host script results:
| smb-brute: 
|  administrator:<blank> => Valid credentials
|  guest:<blank> => Valid credentials, account disabled
|_ wing:<blank> => Valid credentials

Nmap done: 1 IP address (1 host up) scanned in 6.71 seconds
root@Wing:~# 


使用smb-brute.nse脚本可以对目标进行SMB口令的审计,以上结果表明目标并没有设置系统口令,这是相当危险的,我们仅用了6秒的时间就破解了目标的所有账户。对于复杂的密码,我们还可以使用passdb选项指向一个自定义字典。

root@Wing:~# nmap --script smb-brute.nse --script-args passdb=pass.txt -p445 192.168.126.128

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:14 CST
Nmap scan report for 192.168.126.128
Host is up (0.00031s latency).
PORT  STATE SERVICE
445/tcp open microsoft-ds
MAC Address: 00:0C:29:D3:9D:B9 (VMware)

Host script results:
| smb-brute: 
|  administrator:<blank> => Valid credentials
|  guest:<blank> => Valid credentials, account disabled
|_ wing:<blank> => Valid credentials

Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds
root@Wing:~# 


表9.8所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计VNC服务器。

使用命令“nmap --script vnc-brute -p 5900 目标”审计VNC服务器。

表9.8 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

root@Wing:~# nmap --script vnc-brute -p 5900 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:21 CST
Nmap scan report for 192.168.126.131
Host is up (0.00019s latency).
PORT   STATE SERVICE
5900/tcp open vnc
| vnc-brute:
|  Accounts
|_  123456 => Valid credentials
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
root@Wing:~# 


vnc-brute脚本可以很好地审计VNC服务器弱口令。我们可以利用userdb、passdb选项指定自定义的字典。

表9.9所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——审计SMTP服务器。

表9.9 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute
smtp-enum-users

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap -p 25 --script smtp-brute 目标”即可审计SMTP服务器。

root@Wing:~# nmap -p 25 --script smtp-brute 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:33 CST
Nmap scan report for 192.168.126.131
Host is up (0.00020s latency).
PORT  STATE SERVICE
25/tcp open smtp
| smtp-brute:
|  Accounts
|   braddock:jules - Valid credentials
|   lane:sniper - Valid credentials
|   parker:scorpio - Valid credentials
|  Statistics
|_  Performed 1160 guesses in 41 seconds, average tps: 33
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 9.16 seconds
root@Wing:~# 


SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。

使用smtp-brute选项可以很方便地对STMP服务器进行审计,这有利于网站管理员及时发现自身的问题。

若要进行邮件的接受与发送则需要有对应的邮箱账户,通过VRFY、EXPN或RCPT命令,可以枚举邮箱用户,在Nmap的脚本中smtp-enum-users则可以通过枚举远程系统所有的用户。

root@Wing:~# nmap -p 25 --script=smtp-enum-users.nse smtp.XX.com

Starting Nmap 6.47 ( http://nmap.org

 ) at 2015-06-28 20:38 CST
Nmap scan report for smtp.XX.com (163.177.65.211)
Host is up (0.0078s latency).
PORT  STATE SERVICE
25/tcp open smtp
| smtp-enum-users:
|  admin
|  adminadmin
|   administrator
|   user
|   system
|_ root

Nmap done: 1 IP address (1 host up) scanned in 0.46 seconds
root@Wing:~# 


从输出的结果中可以看到枚举出6个用户。

表9.10所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——检测Stuxnet蠕虫。

表9.10 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

Smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

使用命令“nmap --script stuxnet-detect -p 445 目标”即可检测stuxnet蠕虫。

root@Wing:~# nmap --script stuxnet-detect -p 445 192.168.126.131

Starting Nmap 6.40 ( http://nmap.org

 ) at 2014-06-13 13:42 CST
Nmap scan report for 192.168.126.131
Host is up (0.00032s latency).
PORT  STATE SERVICE
445/tcp open microsoft-ds
|_stuxnet-detect: INFECTED (version 4c:04:00:00:01:00:00:00)
MAC Address: 00:0C:29:E0:2E:76 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 2.20 seconds
root@Wing:~# 


Stuxnet蠕虫病毒(超级工厂病毒)是世界上首个专门针对工业控制系统编写的破坏性病毒,能够利用Windows系统和西门子SIMATIC WinCC系统的7个漏洞进行攻击。特别是针对西门子公司的SIMATIC WinCC监控与数据采集 (SCADA) 系统进行攻击,该系统在我国的多个重要行业应用广泛,被用来进行钢铁、电力、能源、化工等重要行业的人机交互与监控。Stuxnet蠕虫病毒传播途径为主要通过U盘和局域网进行传播,历史“贡献”是曾造成伊朗核电站推迟发电,于2010年9月25日进入中国。

使用stuxnet-detect脚本可以轻易地发现Stuxnet蠕虫病毒,保障系统安全。

表9.11所示为本章节所需Nmap命令表,表中加粗命令为本小节所需命令——SNMP服务安全审计。

表9.11 本节所需命令

脚  本

解  释

http-brute

审计HTTP身份验证

ftp-brute

审计FTP服务器

http-wordpress-brute

审计Wordpress程序

http-joomla-brute

审计Joomla程序

pop3-brute

审计邮件服务器

smb-brute.nse

审计SMB口令

vnc-brute

审计VNC服务器

smtp-brute

审计SMTP服务器

stuxnet-detect

检测Stuxnet蠕虫

snmp-netstat
snmp-processes
snmp-win32-services
snmp-brute

SNMP服务安全审计

简单网络管理协议(SNMP)由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。该协议是互联网工程工作小组(Internet Engineering Task Force,IETF)定义的Internet协议簇的一部分。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

Nmap的snmp-netstat脚本可以识别并自动添加新的目标进行扫描,通过该脚本可以查询SNMP协议,可以获取目标主机的网络状态。

使用命令“nmap -sU -p 161 --script=snmp-netstat 目标”即可获取目标主机网络连接状态。

root@Wing:~# nmap -sU -p 161 --script=snmp-netstat 192.168.121.3

Starting Nmap 6.47 ( http://nmap.org

 ) at 2015-06-28 20:55 CST
Nmap scan report for 192.168.121.3 (192.168.121.3)
Host is up (0.000068s latency).
PORT  STATE SERVICE
161/udp open  snmp
| snmp-netstat:
|  TCP 0.0.0.0:21      0.0.0.0:2256
|  TCP 0.0.0.0:80      0.0.0.0:8218
|  TCP 0.0.0.0:135     0.0.0.0:53285
|  TCP 0.0.0.0:389     0.0.0.0:38990
|  TCP 0.0.0.0:445     0.0.0.0:49158
|  TCP 192.168.121.3:389  192.168.121.1:1045
|  TCP 192.168.121.3:389  192.168.121.1:1048
|  UDP 192.168.121.3:137   *:*
|  UDP 192.168.121.3:138   *:*
|  UDP 192.168.121.3:389   *:*
|_ UDP 192.168.121.3:464   *:*

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
root@Wing:~# 


从以上信息可以看到目标主机192.168.121.3的网络连接情况,目标主机192.168.121.3通过389端口与主机192.168.121.1的1045端口建立了TCP连接。

进程是指在系统中正在运行的一个应用程序,线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务,如果结束掉一个进程则相对应的程序也会被强制关闭。在Nmap中snmp-processes脚本可以通过SNMP服务协议枚举运行的系统进程。

root@Wing:~# nmap -sU -p 161 --script=snmp-processes 192.168.121.1

Starting Nmap 6.47 ( http://nmap.org

 ) at 2015-06-28 21:03 CST
Nmap scan report for 192.168.121.1
Host is up (0.0018s latency).
PORT  STATE SERVICE
161/udp open  snmp
| snmp-processes:
|  1:
|   Name: System Idle Process
|  4:
|   Name: System
|  256:
|   Name: smss.exe
|   Path: \SystemRoot\System32\
|  308:
|   Name: csrss.exe
|   Path: C:\WINDOWS\system32\
|   Params: ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserS
|  332:
|   Name: winlogon.exe
|  380:
|   Name: services.exe
|   Path: C:\WINDOWS\system32\
|  392:
|   Name: lsass.exe
|_  Path: C:\WINDOWS\system32\
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
root@Wing:~# 


从以上信息可以得知目标主机运行的进程名称、进程号、进程路径等信息。获得信息的多少取决于目标系统运行程序的多少。Nmap中的snmp-win32-services脚本可以获得Windows服务器的服务。

root@Wing:~# nmap -sU -p 161 --script=snmp-win32-services 192.168.121.1

Starting Nmap 6.47 ( http://nmap.org

 ) at 2015-06-28 21:09 CST
Nmap scan report for 192.168.121.1
Host is up (0.0013s latency).
PORT  STATE SERVICE
161/udp open  snmp
| snmp-win32-services:
|  Apache Tomcat
|  Application Experience Lookup Service
|  Application Layer Gateway Service
|  Automatic Updates
|  COM+ Event System
|  COM+ System Application
|  Computer Browser
|  Cryptographic Services
|  DB2 - DB2COPY1 - DB2
|  DB2 Management Service (DB2COPY1)
|  DB2 Remote Command Server (DB2COPY1)
|  DB2DAS - DB2DAS00
|_ DCOM Server Process Launcher
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
root@Wing:~# 


Snmp服务的密码一旦被破解对服务器的威胁是非常大的,如何避免这种情况的产生?Nmap中的snmp-brute的脚本可以对目标服务器的Snmp服务进行口令审计。

root@Wing:~# nmap -sU -p 161 --script snmp-brute 192.168.121.1

Starting Nmap 6.47 ( http://nmap.org

 ) at 2015-06-28 21:14 CST
Nmap scan report for 192.168.121.1
Host is up (0.0013s latency).
PORT  STATE SERVICE
161/udp open  snmp
| snmp-brute:
|_ admin - Valid credentials

Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
root@Wing:~# 


从输出的结果得知目标服务器Snmp服务的密码为admin。若没有得到满意的结果还可以使用snmp-brute.communitiesdb选项指定一个字典进行破解。