渗透测试之Nmap命令(三) idle 扫描

1. 空闲扫描

  前两篇文章已经介绍了Nmap命令的一些基本选项和若干类型的扫描,下面继续来介绍Nmap的一个扫描类型——空闲扫描。   为了降低被检测到的机率,我们通常需要转嫁责任,这时可以使用空闲扫描(idle scan),让一个僵尸主机承担扫描任务。

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

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

  1. 向僵尸主机放松SYN/ACK数据包,获得带有分片ID(IPID)的RST报文。
  2. 发送使用僵尸主机IP地址的伪数据包给目标主机。
  3. 如果目标主机端口关闭,就会向僵尸主机响应RST报文。如果目标端口开放,目标主机向僵尸主机响应SYN/ACK报文,僵尸主机发现这个非法连接响应,并向目标主机发送RST报文,此时IPID号开始增长。
  4. 通过向僵尸主机发送另一个SYN/ACK报文已退出上述循环并检查将是主机RST报文中的IPID是否每次增长2,同时目标主机的RST每次增长1。
  5. 重复上述步骤直到检测完所有的端口。

2. 寻找僵尸主机

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

  从结果上看,这个主机不是太理想,网络距离只有一跳(自己搭建的环境,试验用足够了),但作为一个僵尸主机还是可以的。预测难度越高,一台主机用作僵尸主机的可能性就越小。我们还可以连续生成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地址。

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

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

原文发布于微信公众号 - HACK学习呀(Hacker1961X)

原文发表时间:2018-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券