高级NMAP扫描技巧:TCP空闲扫描

一种更加高级的nmap扫描方式是TCP空闲扫描,这种扫描能让我们冒充网络上另一台主机的IP地址,对目标进行更为隐秘的扫描。进行这种扫描,我们需要在网络上定位一台使用递增IP帧(IP ID:用于跟踪IP包的次序的一种技术)机智的空闲主机(空闲是指该主机在一段特定的时间内不向网络发送数据包)。当我们发现一台这样的主机后,它的IP帧的标识。当我们冒充这台空闲主机的IP地址对目标主机某个端口进行探测后,如果该空闲主机实际的帧标识与预测得出的IP帧标识发生断档,那么意味着该端口可能是开放的。
可以使用Metasploit框架的scanner/ip/ipidseq模块,来寻找可能满足TCP空闲扫描要求的空闲主机,如下所示:
高级NMAP扫描技巧:TCP空闲扫描
Name这个列表中展示了ipidseq扫描所需的所有参数,其中RHOST可以使用地址段(192.168.1.100-192.168.1.200)、CIDR地址块(192.168.1.0/24),也可用逗号分隔多个CIDR地址块,以及每行包含一个IP地址的IP列表。
THREADS是设定扫描的线程数,默认为1.增加线程数可提高扫描的速度。一般来说,在windows平台运行matesploit,线程数最好不要超过16个,在类unix平台上运行matesploit线程数不要超过128。
现在我们开始扫描,如下所示:
高级NMAP扫描技巧:TCP空闲扫描
通过扫描结果发现有多个空闲主机可以用于空闲扫描。我们尝试在nmap中使用-sI选项指定获取结果中的192.168.1.2作为空闲主机对目标主机进行扫描,如下所示:
高级NMAP扫描技巧:TCP空闲扫描
使用空闲扫描,我们可以不用自身IP地址向目标主机发送任何数据包,就能获取盗目标主机上开放的端口信息。