Metasploit是一款开源的渗透测试框架,同样可以实现主机存活探测功能,小王需要使用Metasploit Framework(后文简称为Metasploit)对内网的主机进行主机存活探测,确认内网服务器的存活情况。
Metasploit工具拥有多种攻击模块,在该任务中,小王需要学会如何查找和使用其中的主机存活探测模块。在使用Metasploit中的模块时,需要注意设置攻击模块的参数。
Metasploit是一款开源的渗透测试框架平台,该工具有七大模块,分别是辅助模块(Auxiliary)、攻击模块(Exploit)、攻击载荷模块(Payload)、后渗透模块(Post)、编码模块(Encoder)、用于规避防御的模块(Evasion),以及用于生成无害、良性的“无操作”指令的模块(nop)。其中,辅助模块是用于辅助操作的模块,例如网络扫描、枚举、漏洞扫描、登录暴力破解、模糊测试、蜘蛛爬虫(遍历)、数据提取等,可使用该模块进行主机存活探测。
打开《渗透测试技术》Linux靶机(1),获取靶机的IP地址,用于验证Metasploit是否成功探测,如图2-6所示。
图2-6 验证Metasploit是否成功探测
打开Linux攻击机终端,输入以下命令开启Metasploit,如图2-7所示。
msfconsole
图2-7 开启Metasploit
使用以下命令搜索msfconsole工具所拥有的主机探活模块,如图2-8所示。
use auxiliary/scanner/discovery/
图2-8 搜索主机探活模块
可以使用以下命令查看arp_sweep模块的详情,如图2-9所示,如模块的基本信息、提供者、基本选项和模块功能描述等。
info auxiliary/scanner/discovery/arp_sweep
图2-9 arp_sweep模块的详情
从模块的详情中可以得知,该模块可以发送ARP请求进行内网主机存活探测,下面使用以下命令使用该模块:
use auxiliary/scanner/discovery/arp_sweep
使用options查看模块需要设置的选项,如图2-10所示,Required为yes的选项表示必须设置。
图2-10 配置选项
图2-10中的RHOSTS表示需要测试目标主机,THREADS和TIMEOUT表示存在默认值,可以不进行设置。使用以下命令设置目标主机并执行该模块:
set rhosts 10.20.125.52
run
执行结果如图2-11所示。
图2-11 执行结果
同样该模块支持网段扫描,扫描结果如图2-12所示。
图2-12 扫描结果
本任务使用了Metasploit工具的auxiliary/scanner/discovery/arp_sweep模块,需要注意的是,在真实环境中,由于ARP广播包无法跨网段,使用arp_sweep模块存在限制,所以内网探测时只能探测当前网段内的主机。
使用Metasploit中的udp_sweep模块进行UDP协议主机发现。
第一步:使用udp_sweep模块,如图2-13所示,并设置扫描网段。
输入以下命令:
use auxiliary/scanner/discovery/udp_sweep
set rhosts 10.20.125.52/24
图2-13 使用udp_sweep模块
第二步:执行扫描,扫描结果如图2-14所示。
图2-14 扫描结果
需要注意的是,当使用UDP进行主机发现时,并不能发现100%的存活主机,与真实情况存在偏差。
△1.Metasploit中主机发现模块位于下列( )目录。
A.auxiliary/scanner/discovery/
B.exploit/scanner/discovery/
C.auxiliary/scanner/
D.auxiliary/scanner/icmp
△2.下列关于Metasploit主机发现功能的说法,错误的是( )。
A.可以使用ARP协议进行主机发现
B.可以使用UDP协议进行主机发现
C.可以使用FTP协议进行主机发现
D.可以使用HTTPS协议进行主机发现
△△1.除了auxiliary/scanner/portscan/目录下的主机发现模块,请列出5个可用于辅助主机发现的模块。
△△2.请简述使用ARP协议进行主机发现快还是使用UDP协议进行主机发现快。