点击“合天智汇”关注,学习网安干货
昨天文章给大家介绍了:Metasploit数据库相关命令使用基础教程,今天继续介绍这款工具的扫描技术。作为一款渗透测试业界使用广泛的工具,Metasploit包含多种端口扫描技术,并与其它扫描工具接口良好,例如nmap扫描结果可以很方便的导入,或者使用db_nmap命令,其功能与nmap一样。下面我们逐一介绍Metasploit的端口扫描技术。
0x00 准备工作
Metasploit中的扫描器和大部分的其他辅助模块使用RHOSTS选项而不是RHOST,RHOSTS选项可以是IP地址段(192.168.1.20-192.168.1.30),CIDR地址段 (192.168.1.0/24),由逗号分隔的多个地址段(192.168.1.0/24, 192.168.3.0/24),以及行分隔的主机列表文件(file:/tmp/hostlist.txt)。
默认情况下,所有扫描器模块的THREADS值都将设置为“1”。 THREADS值设置扫描时要使用的并发线程数。 将此值设置为更高的数字,以加快扫描速度或降低扫描速度,以减少网络流量,但请务必遵守以下准则:
● 将Win32系统上的THREADS值保持在16以下
● 在Cygwin下运行MSF时,请将THREADS保持在200以下
● 在类Unix操作系统上,THREADS可以设置高达256。
本节内容包括:
● nmap & db_nmap
● 端口扫描
● SMB版本扫描
● 空闲扫描
0x01 nmap & db_nmap
我们可以使用db_nmap命令对目标运行Nmap,扫描结果会自动存储在数据库中。 但是,如果希望稍后将扫描结果导入到其他应用程序或框架中,则可能需要以XML格式导出扫描结果。nmap拥有三种输出格式(xml,grepable和normal)。 可以使用'-oA'标记后跟所需的文件名来运行Nmap扫描,以生成三个输出文件,然后发出db_import命令来导入Metasploit数据库。
如下面例子所示,在msfconsole中调用nmap对192.168.26.0/24网段的主机进行扫描和服务版本探测(-sV),并详细输出结果(-v),结果以三种输出格式写入subnet_1中。
下图红框中为输出结果文件。
下面使用db_import命令将结果导入到Metasploit数据库中,并使用hosts命令查看导入的结果。
如果希望将扫描自动保存到Metasploit数据库中,可以省略输出标志并使用db_nmap。上面的nmap扫描示例可以修改为“db_nmap -v -sV 192.168.1.0/24”。
我们先使用“hosts -d”命令将刚才导入的结果从数据库中删除,然后使用db_nmap重新扫描。
从上面的扫描结果看,db_nmap扫描结果和nmap扫描结果一样。
0x01 端口扫描
除了运行Nmap之外,还有其他端口扫描器可以在框架内使用。在msfconsole下运行search portscan命令搜索Metasploit中的端口扫描器
为了比较起见,我们将对比nmap与Metasploit扫描模块对端口80的扫描结果。 首先,使用nmap扫描开放80端口的主机。以下命令的含义是:屏幕输出subnet的扫描结果,并grep命令搜索80/open的结果,打印IP地址
先前运行的nmap扫描是SYN扫描,因此在Metasploit中,针对同一个IP地址段同样运行SYN扫描。
可以看到,两者的扫描结果一样。
下面加载'tcp'扫描器,并将它用于另一个目标。 与所有前面提到的插件一样,它使用RHOSTS选项。 请记住,我们可以发出'hosts -R'命令,以使用我们的数据库中的主机自动设置此选项。
我们可以看到,Metasploit的内置扫描仪模块能够为我们找到系统和开放端口。 如果碰巧在没有安装Nmap的系统上运行Metasploit,这是您的武器库中的另一个很好的工具。
0x02 SMB版本扫描
现在已经确定了哪些主机在网络上可用,接下来可以尝试确定它们的操作系统。 这将有助于缩小攻击目标在一个特定的系统,而不是在没有缺陷的主机上浪费时间。
由于扫描中有许多系统已经打开445端口,所以我们将使用scanner / smb / version模块来确定哪个版本的Windows在目标上运行,哪个Samba版本在Linux主机上。
另请注意,如果我们现在发出hosts命令,新获取的信息存储在Metasploit的数据库中。
0x03 空闲扫描
Nmap的IPID空闲扫描允许我们使用另一个主机的IP地址欺骗网络,偷偷的扫描目标。为了完成这种类型的扫描,我们需要找到一个在网络上空闲的主机,并使用增量式或破碎的小端(Broken Little-Endian)增量的IPID序列。Metasploit包含扫描模块scanner/ip/ipidseq可以用于查找符合要求的主机。
注:在免费的在线Nmap书中,可以找到有关Nmap空闲扫描的更多信息
通过扫描结果可以判断,我们拥有几台僵尸主机可以用来空闲扫描(192.168.26.129,12.168.26.135,192.168.26.221)(操作环境是VMware虚拟机,192.168.26.2是网关,实际情况主机个数更多),在使用僵尸主机扫描目标之前,我们先使用正常的nmap扫描,如下图所示。
下面我们尝试使用僵尸主机192.168.26.221扫描目标主机192.168.26.135,看结果与之前未使用僵尸主机扫描的结果是否一致。
从上图可以看出,两种扫描的结果一致。
在第二种情况下,扫描192.168.26.135主机时使用的是非攻击主机的真实IP,而是目标网络中的其他空闲主机(本例子中是192.168.26.221)
上面我们讲述了metasploit中端口扫描的相关技术,包括:
使用nmap扫描和db_nmap扫描:在msfconsole中运行db_nmap扫描,扫描结果直接存储在数据库中,nmap扫描的结果也可以使用db_import命令导入数据库中;
端口扫描:使用Metasploit自带的端口扫描辅助模块扫描,在没有nmap的主机上是一个很好的替代扫描工具
SMB版本扫描:确定主机的操作系统
空闲扫描:使用网络中的僵尸主机IP地址,静默地扫描网络主机。
0x04 声明
以上内容仅是自己的观点,仅供合法地渗透测试,欢迎各位留言讨论。若读者因此做出危害网络安全的行为后果自负,与合天智汇及本人无关,特此声明。
注:本文属合天原创奖励文章,未经允许,禁止转载!
别忘了投稿哟!!!
合天公众号开启原创投稿啦!!!
大家有好的技术原创文章。
欢迎投稿至邮箱:[email protected];
合天会根据文章的时效、新颖、文笔、实用等多方面评判给予100元-500元不等的稿费哟。
有才能的你快来投稿吧!
合天网安实验室
网址 : www.hetianlab.com
电话:4006-123-731
长按图片,据说只有颜值高的人才能识别哦→