本文共 2307 字,大约阅读时间需要 7 分钟。
本节书摘来自异步社区《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》一书中的第3章3.2节服务遍历,作者【美】Pritchett Willie , 【墨】David De Smet,更多章节内容可以访问云栖社区“异步社区”公众号查看。
3.2 服务遍历
在这个示例中,我们将演示一些服务遍历的技巧。遍历(Enumeration)泛指获取网络信息的操作。我们将讲解DNS遍历和SNMP遍历技术。DNS遍历过程用来寻找一个机构的所有DNS服务器和DNS记录。DNS遍历可以收集一些目标的关键信息,例如用户名、计算机名、IP地址等。DNSenmu可以很好地胜任DNS遍历任务。要开展SNMP遍历,就需要用到SnmpEnum这类的SNMP遍历工具。SnmpEnum功能强大,可以用来分析网络中的SNMP通信。操作步骤
现在开始进行DNS遍历。1.我们将使用DNSenum进行DNS遍历。要进行DNS遍历就需要在Gnome里打开终端窗口,然后输入下述命令。
cd /pentest/enumeration/dns/dnsenum/ ./dnsenum.pl --enum adomainnameontheinternet.com
2.此时我们至少能够获取主机、域名服务器和邮件服务器在内的信息。如果我们足够幸运,没准会可以进行域信息的完整传输(zone transfer)(见图3.1)。
--threads [number]:设置同时运行的进程数量。
-r:启用递归查询。-d:设置WHOIS查询操作之间的时间延迟(单位为秒)。-o:指定输出位置。-w:启用WHOIS查询。4.要使用SNMPenum进行SNMP遍历,需要在终端窗口中输入下述命令。cd /pentest/enumeration/snmp/snmpenum/ perl snmpenum.pl 192.168.10.200 public windows.txt
5.在本节的示例中,我们攻击主机192.168.10.200。如果这个IP的设备开启了SNMP服务并连入网络,您可以得到相当多的信息,如下所示。
已安装的软件;
用户名;设备运行的时间;主机名;磁盘信息;运行的进程。SNMP遍历的默认语法如下。 `
javascript
6.除此以外,我们还可以使用snmpwalk遍历Windows主机的SNMP服务。snmpwalk是一个SNMP应用程序,它使用SNMP协议的GETNEXT命令查询网络实体,并生成树状信息。在命令行中输入下述命令: ```javascriptsnmpwalk -c public 192.168.10.200 -v 2c
7.我们也可以遍历主机上已经安装好的软件。
snmpwalk -c public 192.168.10.200 -v 1 | grep hrSWInstalledName HOST-RESOURCES-MIB::hrSWInstalledName.1 = STRING: “Vmware Tools” HOST-RESOURCES-MIB::hrSWInstalledName.2 = STRING: “WebFldrs”
8.我们可以用同一工具来遍历主机开放的所有TCP端口。
snmpwalk -c public 192.168.10.200 -v 1 | grep tcpConnState | cut -d”.” -f6 | sort–nu 21 25 80 443
9.除了snmpwalk和SNMPenum,snmpcheck也能用来进行SNMP遍历。
`
javascript
10.要使用fierce(一个尝使用多种技术来查找目标使用的所有IP地址和主机名的工具)执行域扫描,我们可以输入下述命令。
cd /pentest/enumeration/dns/fierce/
perl fierce.pl -dns adomainnameontheinternet.com请不要对公网服务器或他人的网络运行该工具,本例中使用adomainnameontheinternet.com进行举例,您应该进行相应的替换。一定要当心!11.在使用fierce执行域扫描时,也可以指定使用字典文件。命令如下所示。 ```javascriptperl fierce.pl -dns adomainnameontheinternet.com -wordlist hosts.txt -file /tmp/output.txt![]()
12.要在一台SMTP服务器上遍历STMP的账号信息、验证用户名是否存在,可以输入下述命令:
`
javascript
转载地址:http://otebm.baihongyu.com/