Metasploit端口扫描技术

发表于:2019-2-20 10:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈博    来源:合天智汇

  今天介绍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地址,静默地扫描网络主机。
  
     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号