1. 概述
Nmap 的漏洞扫描功能可以通过 Nmap 脚本引擎 (NSE) 功能来识别目标系统中的漏洞。被快速识别。 这可以扩展到强大的漏洞扫描器来枚举漏洞。 目标系统的最新漏洞。 漏洞扫描通常是渗透测试过程中的关键步骤,而Nmap也是大多数渗透测试人员依赖的工具。 在本文中,您将学习如何使用Nmap进行漏洞扫描,快速发现目标机器上的安全漏洞。
2. 扫描基础知识
Nmap 旨在发现连接到网络的设备上的开放和活动端口。 运行服务。 该工具是免费、开源的,被渗透测试人员广泛用于对目标网络进行安全审计。 Nmap 默认安装在 Kali Linux 上。
要运行 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 控制消息协议 (ICMP) 回显 ping 来发现目标。 使用 -n 选项阻止 Nmap 尝试解析 DNS 名称。 使用 -p- 选项扫描所有端口。
具体选项请参阅我的其他文章:<>
3. 三种类型的漏洞扫描
Nmap 通常用于执行端口扫描任务,但它也可以用作漏洞扫描器。 Nmap 脚本引擎 (NSE) 可用于通过网络检测目标系统中的漏洞。 NSE 允许您通过创建和运行自定义脚本来扩展 Nmap 功能。
使用三个强大的 Nmap 脚本选项,Nmap 可以变成一个全面的漏洞扫描工具:
Vuln:–script vuln 选项运行所有专注于识别目标系统的 NSE 脚本。 这是在扫描安全漏洞时检测已知漏洞的常见选项。 漏洞:–script vulners 选项使用 vulners.com 在线数据库并利用 Nmap 扫描目标以查找最新漏洞。 该数据库会定期更新,因此您可能会找到其他扫描可能遗漏的信息。 Vulscan:–script vulscan 选项是一个 Nmap 漏洞扫描脚本,它使用多个离线漏洞数据库测试目标系统的漏洞。 使用 NVD、CVE 和 OVAL 漏洞数据库扫描本地网络中的漏洞。 该模式支持本地离线和在线扫描。
以下是三种漏洞扫描选项的比较。
Vuln
漏洞
Vulscan
针对漏洞类别运行 Nmap 多个 NSE 脚本
运行单个脚本从在线数据库中提取
运行从离线数据库中提取的单个脚本
使用 . Nmap内置脚本
利用漏洞rs.com在线数据库扫描漏洞
使用多个离线数据库扫描漏洞
必须自己编写脚本并将其添加到漏洞目录中,Nmap无法更新扫描到的漏洞。
扫描的漏洞会定期自动更新
扫描的漏洞使用 update.sh 命令更新,您需要通过运行手动更新 vulscan 目录
扫描最常见的漏洞
扫描最新的漏洞
扫描各种漏洞
主要优点:内置在 Nmap 中
主要优点:快速、准确
主要优点:离线执行全面的漏洞扫描。
下面将通过这三种模式来运行漏洞扫描过程。
4. Vuln漏洞扫描
Nmap的漏洞扫描针对目标运行该工具的默认漏洞扫描脚本。 这些可以帮助找到可被利用的常见漏洞。 要运行漏洞扫描,请使用以下命令语法:
nmap –script vuln
图片
图片输出
序号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.com来扫描目标是否有最新的漏洞。 要运行此扫描,请使用以下命令语法:
nmap -sV –script vulners
图像
上面返回的图像输出如下所示:
序列号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 的链接或其旁边的任何其他链接。 *利用*
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 数据库。 但是,vulscan 脚本默认不包含在 Nmap 中,并且无法使用此命令进行更新。 相反,您应该使用之前克隆的 GitHub 存储库提供的 update.sh 脚本来更新 Nmap 的数据库以及使用 vulscan 从其中提取的漏洞数据库。 运行以下命令:
./update.sh
图片
将 vulscan 脚本添加到 Nmap 的数据库后,运行以下命令:可以使用以下语法: 要运行 vulscan 漏洞扫描:
nmap -sV –script=vulscan/vulscan.nse
图像
这是上述扫描返回的输出:
序列号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 漏洞扫描选项。
漏洞 漏洞扫描比其他两次扫描运行时间更长,并且包含发现的较旧或不正确的漏洞。 Nmap 漏洞扫描速度更快,可以检测到更多漏洞。 我们还在每个链接上添加了有用的链接,以向您展示可用的内容。 Nmap vulscan 扫描的速度介于 vuln 和 vulners 扫描之间,但输出更丰富。 通过查询多个漏洞数据库,提供有关所有潜在漏洞的综合报告。
大多数情况下可以跳过漏洞扫描,因为它们通常很慢并且漏洞相对较旧。 相反,应重点关注 Nmap 漏洞并使用 Nmap vulscan 选项。 当您想要快速扫描并提供简洁的输出时,请使用漏洞扫描。 如果您想对目标系统执行全面的漏洞扫描并使用多个漏洞数据库来发现潜在的安全漏洞,请使用 vulcan 选项。
评论前必须登录!
注册