程序员人生 网站导航

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

栏目:互联网时间:2015-08-19 08:37:48

1. 空闲扫描

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

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

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

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

  zomb
  从结果上看,这个主机不是太理想,网络距离只有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地址。
  idle
  查看wireshark抓包情况,可以看到从僵尸主机到目标主机之间有1些异常的网络流量。
  wires
  从结果上看,Nmap命令在僵尸主机和目标主机网络上产生了很多流量,我们需要这些流量来增加IPID的值,从而获知目标主机端口是不是开放。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐