php 调用 nmap,渗透测试之Nmap命令(三) idle 扫描

1. 空闲扫描

前两篇文章已介绍了Nmap命令的1些基本选项和若干类型的扫描,下面继续来介绍Nmap的1个扫描类型――空闲扫描。

为了下降被检测到的机率,我们通常需要转嫁责任,这时候可使用空闲扫描(idle scan),让1个僵尸主机承当扫描任务。

nmap.org官网上详细讲述了空闲扫描的原理,可以在http://nmap.org/book/idlescan.html了解空闲扫描的所有信息。

使用空闲扫描(-sI)需要注意1个问题,就是要找1台TCP序列预测成功率高的僵尸主机,这个僵尸主机必须尽量的空闲,比如说网络打印机就是1个很好地选择,由于网络打印机不但存在着恒定的网络资源,而且很难预测它们的TCP序列。

空闲扫描的原理:

向僵尸主机放松SYN/ACK数据包,取得带有分片ID(IPID)的RST报文。

发送使用僵尸主机IP地址的伪数据包给目标主机。

如果目标主机端口关闭,就会向僵尸主机响应RST报文。如果目标端口开放,目标主机向僵尸主机响应SYN/ACK报文,僵尸主机发现这个非法连接响应,并向目标主机发送RST报文,此时IPID号开始增长。

通过向僵尸主机发送另外一个SYN/ACK报文已退出上述循环并检查将是主机RST报文中的IPID是不是每次增长2,同时目标主机的RST每次增长1。

重复上述步骤直到检测完所有的端口。

2. 寻觅僵尸主机

空闲扫描的第1步就是寻觅僵尸主机,我们可以通过下面这条命令(-v 详细信息,-O 系统检测,-Pn 无ping,-n 无域名解析)来取得主机的TCP序列预测率。

# nmap -v -O -Pn -n 192.168.50.16

4a914d1492a890c46ebf76abb7ce4068.png

从结果上看,这个主机不是太理想,网络距离只有1跳(自己搭建的环境,实验用足够了),但作为1个僵尸主机还是可以的。预测难度越高,1台主机用作僵尸主机的可能性就越小。我们还可以连续生成ID来增加扫描成功的几率。

3. idle扫描利用

使用以下命令扫描,并启动wireshark抓包。

# nmap -p 22,23,53,80,443,8888,3960 -Pn -sI 10.128.***.**(僵尸主机IP) 222.**.**.**(目标主机IP)

使用-p启动已知TCP端口的扫描,节省时间;通过-Pn强调不适用ping(默许是使用的),-sI启动空闲扫描,后面顺次是僵尸主机和目标主机的ip地址。

ad598799bd9900f8deb0fd51193357ce.png

查看wireshark抓包情况,可以看到从僵尸主机到目标主机之间有1些异常的网络流量。

6ae736200dbc5a7807e5e4aa1041dc5c.png

从结果上看,Nmap命令在僵尸主机和目标主机网络上产生了很多流量,我们需要这些流量来增加IPID的值,从而获知目标主机端口是不是开放。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值