系统运维

Nmap的三种漏洞扫描模式原理及实战讲解

时间:2010-12-5 17:23:32  作者:系统运维   来源:IT资讯  查看:  评论:0
内容摘要:1.摘要Nmap的漏洞扫描功能能够迅速识别目标系统中的漏洞, 通过Nmap脚本引擎(NSE)的强大功能, 它可以扩展成一个强大的漏洞扫描器, 帮助我们列举目标系统中的最新漏洞。通常在渗透测试过程中,

1.摘要

Nmap的漏洞漏洞扫描功能能够迅速识别目标系统中的漏洞, 通过Nmap脚本引擎(NSE)的强大功能, 它可以扩展成一个强大的漏洞扫描器, 帮助我们列举目标系统中的最新漏洞。通常在渗透测试过程中,扫描 漏洞扫描是一个关键步骤, 而Nmap也是大部分渗透测试人员依赖的工具, 在本文中, 我们将一起学习使用Nmap进行漏洞扫描,迅速发现目标机器的安全漏洞 。

2.扫描基础知识

Nmap是模式一款强大的网络扫描工具, 旨在查找连接到网络的设备上开放的端口和正在运行的服务 。服务器租用该工具免费且开源,原理 并且被渗透测试人员广泛使用, 用于对目标网络执行安全审计, 在Kali Linux上默认安装了Nmap。

要执行Nmap扫描,及实解 使用命令nmap <目标> 。该命令执行默认的战讲Nmap扫描, 查询前1000个端口以确定哪些是开放的 。

图片

上图中的漏洞Nmap扫描的输出显示如下内容 :

序号1: Nmap命令运行的是 :nmap 10.0.100.5 。

序号2: 命令运行的扫描日期和时间 。

序号3: 连接到目标系统时的模式网络延迟 。

序号4:  显示开放端口的高防服务器原理报告 。

序号5:   完成扫描所花费的及实解时间 。

我们可以通过添加扫描选项以更改Nmap的战讲扫描行为, 命令为: nmap <选项> <目标>

例如:使用-sV标志执行服务扫描, 以显示每个开放端口上运行的具体服务, 该步骤是漏洞查找过程的重要一步 。

图片

如果要更改扫描的漏洞执行方式, 可以使用下面的任意选项:

使用时间模板 -T1 到 -T4 改变Nmap扫描的速度和攻击性。使用 -Pn 选项阻止Nmap执行Internet Control Message Protocol(ICMP)回显ping以发现目标。扫描使用 -n 选项阻止Nmap尝试解析DNS名称 。模式使用 -p- 选项扫描所有端口 。

具体的源码下载选项内容可以参考我的另一篇文章:<<xxx>>

3.三种类型的漏洞扫描

Nmap通常用来执行扫描端口任务, 但也可以作为漏洞扫描器使用。利用Nmap脚本引擎(NSE)可以通过网络发现目标系统漏洞,NSE允许创建和执行定制脚本, 扩展Nmap功能 。

通过下面三个强大的Nmap脚本选项, 可以将Nmap变成一个全面的漏洞扫描工具:

Vuln :--script vuln选项执行所有NSE脚本, 这些脚本专注于识别正在扫描目标系统是否有安全漏洞, 这是发现已知漏洞的常用选项 。Vulners :--script vulners选项使用vulners.com在线数据库,利用Nmap扫描目标以查找最新漏洞 。该数据库定期更新,可能会找到其它扫描可能遗漏的信息。Vulscan: --script vulscan选项是模板下载一个Nmap漏洞扫描脚本, 它使用多个离线漏洞数据库来测试目标系统漏洞, 它使用了NVD、CVE和OVAL漏洞数据库来扫描本地网络中的漏洞, 该模式支持本地离线和在线扫描。

以下是三种漏洞扫描选项的比较:

Vuln

Vulners

Vulscan

执行 Nmap 漏洞类别中的多个 NSE 脚本

执行从在线数据库中提取的单个脚本

执行从离线数据库中提取的单个脚本

使用Nmap的内置脚本扫描漏洞

使用 vulners.com 在线数据库扫描漏洞

使用多个离线数据库扫描漏洞

如果不创建自己的脚本并将其添加到vuln目录,则无法更新 Nmap 扫描的漏洞

要扫描的漏洞会定期自动更新

要扫描的漏洞必须通过update.sh在vulscan目录中运行命令来手动更新

扫描最常见的漏洞

扫描最新的云计算漏洞

扫描各种漏洞

主要优点 :内置于 Nmap

主要优点  :快速 、准确

主要优点  :离线执行全面的漏洞扫描

下面将通过这三种模式分别执行漏洞扫描过程  。

4.Vuln漏洞扫描

Nmap 的漏洞扫描将针对目标运行该工具的默认漏洞扫描脚本 。这些对于查找可利用的常见漏洞非常有用 。要运行漏洞扫描 ,使用以下命令语法 :

复制nmap --script vuln <target>1.

图片

上图中输出显示以下内容:

序号1: 用于运行漏洞扫描的命令行。接下来是默认的 Nmap 报告标头。

序号2: 文件传输协议 (FTP) 服务正在目标计算机的端口 21 上运行。亿华云所使用的特定服务是vsFTPd 版本 2.3.4 ,该服务容易受到CVE-2011-2523 的攻击  。Nmap 甚至提供了一些参考资料和一个可用于利用该漏洞的 Metasploit 模块。

序号3: 简单邮件传输协议 (SMTP) 服务在端口 25 上运行 。此服务容易受到CVE-2014-3566的攻击。Nmap 再次提供了此漏洞的参考。

从该输出中 ,可以通过攻击正在运行的 FTP 或 SMTP 服务来开始利用该目标计算机。可以使用 Nmap 参考作为利用这些漏洞的起点 。

5.Vulners漏洞扫描

vulners漏洞扫描能够使用在线数据库vulners.com扫描目标是否有最新的漏洞 。要执行此扫描,使用以下命令语法 :

复制nmap -sV --script vulners <target>1.

图片

上图中返回的输出显示以下内容:

序号1: 用于运行漏洞扫描的命令行  。

序号2: Secure Shell (SSH) 服务正在目标计算机的端口 22 上运行。使用的特定服务是OpenSSH 版本 4.7p1 Debian 8ubuntu1,该服务容易受到多个 CVE 的攻击。漏洞脚本提供对每个 CVE 或其他漏洞 ID 的引用。

序号3: 漏洞 ID 旁边的标志*EXPLOIT*表示该漏洞是可利用的 ,应该能够手动利用它或在线查找利用代码。

序号4: 域名服务 (DNS) 服务正在端口 53 上运行 。运行的特定服务版本是ISC BIND 9.4.2 ,该版本容易受到一系列漏洞的影响 。同样 ,漏洞脚本为每个漏洞提供了参考 ,并提供了该漏洞是否可利用该*EXPLOIT*标志进行利用的参考。

此输出表明应该尝试利用目标计算机上运行的 SSH 和 DNS 服务。如果选择以 SSH 为目标 ,则应在vulners.com上查找SSV:60656,因为此漏洞 ID 与漏洞利用相关  。同时 ,如果试利用 DNS ,可以使用SSV:60184的链接或其旁边的任何其他链接。*EXPLOIT

*

6.Vulscan漏洞扫描

默认情况下 ,Nmap 的 vulscan 选项不随该工具一起提供。相反 ,需要从https://github.com/scipag/vulscan下载漏洞扫描脚本 。可以通过使用 git clone 命令将 vulscan 脚本下载到 Nmap 脚本目录来完成此操作。

图片

接下来,使用 Linux命令在文件和 Nmap vulscan 脚本ln之间创建符号链接 。scipag_vulscan这将允许使用vulscanNmap 命令行上的选项。

图片

每当添加新的 NSE 脚本以在 Nmap 中使用时 ,需要运行 nmap 命令--script-updatedb来更新 Nmap 的数据库以识别新脚本 。然而 , 默认情况下,Nmap 中不包含 vulscan 脚本,这意味着无法使用该命令对其进行更新。相反,需要使用update.sh之前克隆的 GitHub 存储库附带的脚本来更新 Nmap 的数据库和 vulscan 从中提取的漏洞数据库 。运行以下命令 :

复制./update.sh1.

图片

将 vulscan 脚本添加到 Nmap 的数据库后 ,可以使用以下语法来运行 vulscan 漏洞扫描:

复制nmap -sV --script=vulscan/vulscan.nse <target>1.

图片

上图扫描返回的输出显示以下内容:

序号1: 用于运行漏洞扫描的命令行

序号2: FTP 服务正在目标计算机的端口 21 上运行,具体来说是vsFTPd 版本 2.3.4

序号3: VulDB 漏洞数据库中没有与此版本的 FTP 匹配的结果

序号4: MITRE CVE 漏洞数据库中的一个 CVE 与此版本的 FTP ( CVE-2011-0762 ) 匹配

vulscan 输出继续显示,此版本 FTP 的 Security Focus (5)、IBM X-Force (6) 和 Exploit-DB (7) 漏洞数据库中存在多个匹配的漏洞 。详细的漏洞信息可以从这里获取: https://www.exploit-db.com

7.结果比较

下面来总结一下上面三个Nmap漏洞扫描选项的结果  :

与其他两次扫描相比 ,vuln漏洞扫描的运行时间很长,而且它发现的许多漏洞都是过时或不正确的 。Nmap vulners扫描速度很快,并发现了更多漏洞。它还包含每个链接的有用链接 ,并显示了可利用的内容 。Nmap vulscan 扫描的速度介于 vuln 和 vulners 扫描之间 ,但其输出更为丰富  。它通过查询多个漏洞数据库提供了有关每个潜在漏洞的综合报告 。

总的来说 ,在大多数情况下可以跳过 vuln漏洞扫描, 扫描速度慢且漏洞也比较过时 。相反 ,应该重点使用 Nmap vulners和 Nmap vulscan 选项 。如果想要提供简洁输出的快速扫描 ,则使用vulners扫描。如果想要对目标系统进行全面的漏洞扫描 ,利用多个漏洞数据库来查找潜在的安全漏洞,则使用vulcan选项 。

copyright © 2025 powered by 物联网技术前瞻  滇ICP备2023000592号-33sitemap