主动信息收集3:TCP空闲扫描实例
上面一篇笔记简单的介绍了一下 TCP 空闲扫描的原理,现在来动手操作了~
恩,虽然 Nmap 也提供了一定的扫描空闲主机的功能吧,但是觉得还是 MSF 的 ipidseq 扫描器用起来比较方便,正好可以开始讲讲 MSF 中模块的使用方法。
首先我们启动postgresql数据库服务,打开 MSF 终端。
open-pg-and-msf.png然后在 MSF 终端里输入
use auxiliary/scanner/ip/ipidseq
(Hint: 请善用tab
键)
输入之后提示符处会显示当前载入的模块名称,现在是ipidseq
接下来我们输入show options
指令,这个指令会显示当前模块的运行选项。
其中 Required 列为 yes 的为必须选项,必须要有值才行。
这里我们主要设置两个参数,首先是 RHOST。这个选项指定要扫描的 IP 或者 IP 范围 或者多个 IP 范围。比如可以设置为 127.0.0.1 扫描自己,设置为192.168.1.1/24 扫描整个子网,等价于设置为192.168.1.1-254 。还可以用逗号分隔开多个 IP 和 IP 段,如:127.0.0.1,192.168.1.1/24,10.2.131.1-254 。
第二个需要设置的参数为THREADS,线程数。《指南》上说增加线程数可以提高扫描速度,而降低线程数可以减少网络上的数据流量。一般在类UNIX平台上不要超过128,Windows平台上不要超过16。
设置参数的命令为set
,语法为
set <option> <value>
所以我们输入以下两条命令设置要扫描的主机和线程数量:
set RHOST 10.2.131.1/24
set THREADS 50
(因为我们宿舍分配的IP为10.2.131.xxx,请自己改为想要扫描的 IP 或 IP 段)
然后再次使用show options
查看设置结果:
OK,必须参数都有值了,准备工作完毕,恩,如果需要指定扫描的端口的话请set RPORT <port>
的方式指定。
接下来使用run
命令来运行模块!
(扫描整个子网的话需要一定的时间,请耐心等待……)
额,非常心塞,一个空闲主机都没有! QAQ ,那怎么继续讲下去呢……
在我经过很久很久的等待之后……终于让我发现一个!
如果检测到有空闲主机的话,提示是这个样子滴:
ipidseq-success.pngIPID sequence class: Incremental!
这句话表示此主机的 IP ID 为递增序列,基本上可以当作僵尸主机使用啦。~
如果你看过上一篇文章的推荐阅读的话,应该知道 nmap 使用 TCP 空闲扫描的参数是 -sI
,然后还需要加上-Pn
参数来关闭扫描前的ping
。
这里我顺便介绍另一个命令吧,在 MSF 终端里执行db_nmap
命令,会自动将扫描结果储存在 MSF 数据库中。
所以命令如下(扫扫百度看看):
db_nmap -Pn -sI 10.2.131.205 www.baidu.com
可以看到,用 db_nmap 扫描之后的i结果自动加入到了数据库中。
嘛,百度只开了 HTTP 和 HTTPS 啊~~~没意思……
这次扫描是很隐秘的扫描,百度并不知道我们扫描过他。他可能会以为 10.2.131.205 扫描过它~
这部分演示了用 MSF 扫描空闲僵尸主机,并用 Nmap 进行 TCP 空闲扫描的实例。下一部分应该是使用 MSF 扫描端口,还有针对性扫描。