如何使用 Nmap 进行漏洞扫描?

Nmap 或网络映射器是用于整个网络的功能和渗透测试的工具包,包括端口扫描和漏洞检测。

Nmap 脚本引擎 (NSE) 脚本是 Nmap 最流行和最强大的功能之一。 这些 Nmap 漏洞扫描脚本被渗透测试人员和黑客用来检查常见的已知漏洞。

Common Vulnerabilities and Exposures (CVE) 是一个公开披露数据安全问题的数据库。 它用作检测与信息系统安全相关的漏洞和威胁的参考模型。

在本文中,我们将了解如何使用 Nmap 进行漏洞扫描。

让我们开始吧!

Nmap 安装

Nmap 几乎预装在每个 Linux 发行版中。 如果它丢失,您需要手动安装它。 可以使用以下命令轻松安装。

apt-get install nmap

而且你也可以通过克隆官方来安装 git仓库.

git clone https://github.com/nmap/nmap.git

接下来,导航到该目录并使用以下命令安装要求。

./configure
make
make install

该软件的最新版本以及适用于 Windows、macOS 和 Linux (RPM) 的二进制安装程序可用 这里.

使用 Nmap 进行漏洞扫描

Nmap-vulners、vulscan 和 vuln 是 Nmap 搜索引擎中常见且最流行的 CVE 检测脚本。 这些脚本允许您发现有关系统安全漏洞的重要信息。

Nmap 漏洞

最著名的漏洞扫描程序之一是 Nmap 漏洞. 让我们看看如何设置这个工具以及如何运行基本的 CVE 扫描。 Nmap 脚本引擎搜索 HTTP 响应以识别给定脚本的 CPE。

  关于:空白,以及如何删除它?

安装

要安装 Nmap-vulners 脚本,请使用以下命令导航到 Nmap 脚本目录。

cd /usr/share/nmap/scripts/

下一步是克隆 git 存储库。

git clone https://github.com/vulnersCom/nmap-vulners.git

克隆 git 存储库后,您无需为配置执行任何其他操作。 该工具将自动安装。

如果您想查看 Nmap-vulners 数据库中存在的 NSE 脚本,请使用 ls 命令。 它将在终端上显示所有 .nse 扩展脚本。

用法

使用 NSE 脚本很容易。 只需将 -script 参数传递给我们的 Nmap 命令以指示使用哪个 NSE 脚本。

nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>

使用 NSE 脚本时不要忘记传递“-sV”参数。 如果没有从 Nmap 收到任何版本信息,Nmap-vulners 将无法访问 Vulners 漏洞利用数据库。 因此,始终需要 -sV 参数。

示例命令

语法非常简单。 只需使用“–script”选项调用脚本并指定漏洞引擎和目标即可开始扫描。

nmap -sV --script nmap-vulners/ <target>

如果您想扫描任何特定端口,只需在命令末尾添加“-p”选项并传递您要扫描的端口号。

nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap – 漏洞

NSE 脚本根据每个脚本所属的一组预定类别进行分类。 身份验证、广播、暴力破解、侵入性、恶意软件、安全、版本和漏洞是其中的一些类别。 您可以找到 NSE 脚本的所有类别类型及其阶段 这里.

属于“vuln”类别的脚本会查找特定的已知漏洞,并且仅在目标系统中发现任何漏洞时进行报告。

nmap -sV --script vuln <target>

Nmap-vulscan

火神 是一个 NSE 脚本,可帮助 Nmap 根据服务和版本检测来检测目标上的漏洞。 vulscan 就像 Nmap 的一个模块,将其转换为漏洞扫描程序。 Nmap 选项 -sV 允许每个服务的版本检测,用于识别系统中检测到的漏洞的潜在利用。

  如何在 Word 或 PowerPoint 中设置上标或下标文本的格式

目前,可以使用以下预安装的数据库:

  • 漏洞利用数据库.csv
  • osvdb.csv
  • 安全跟踪器.csv
  • 开放瓦斯.csv
  • scipvuldb.csv
  • xforce.csv
  • 安全焦点.csv
  • cve.csv

安装

要安装 Vulscan,首先,使用以下命令进入 Nmap 脚本目录。

cd /usr/share/nmap/scripts/

下一步是克隆 git 存储库并安装所有要求。

git clone https://github.com/scipag/vulscan.git

ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan 

Vulscan 使用我们机器上本地保存的预配置数据库。 要更新数据库,请转到更新程序目录。 在终端中键入以下命令以导航到更新程序目录。

cd vulscan/utilities/updater/

接下来,更改要在系统中运行的文件的权限。

chmod +x updateFiles.sh

最后,使用以下命令更新漏洞利用数据库。

 ./updateFiles.sh

用法

让我们使用 vulscan 来做一个 Nmap 漏洞扫描。 vulscan NSE 脚本的使用方式与 nmap-vulners 相同。

nmap -sV --script vulscan <target>

默认情况下,Vulscan 将同时搜索所有数据库。 使用所有数据库查询信息需要花费大量时间。 使用 vulscandb 参数,一次只能传递一个 CVE 数据库。

--script-args vulscandb=database_name

示例命令

nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233

单个漏洞扫描

也可以使用每个类别中的特定脚本执行单个漏洞扫描。 这是所有 600+ 的列表 NSE 脚本 和 139 NSE 库.

例子

  • http-csrf:此脚本检测到跨站点请求伪造 (CSRF) 漏洞。
nmap -sV --script http-csrf <target>
  • http-sherlock:旨在利用 Web 应用程序中的“shellshock”漏洞。
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack:在不发起 DoS 攻击的情况下,此脚本会检查 Web 服务器或目标系统的漏洞以执行 Slowloris DoS 攻击。
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln:VMWare ESX、ESXi 和 Server 都经过了路径遍历漏洞测试
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd:尝试检索 /etc/passwd 或 boot.ini 以查看 Web 服务器是否容易受到目录遍历的影响。
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure:当发送一个没有 Host 头的 HTTP/1.0 请求时,这个检查会判断 Web 服务器是否泄露了它的内部 IP 地址。
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156:检测易受 DOS 攻击和命令注入攻击的 Ruby on Rails 服务器。
nmap -sV --script http-vuln-cve2013-0156 <target-address>

最后,这里是所有 NSE 脚本的列表,它们属于“漏洞“ 类别。

  8 门最佳 ACT 备考课程,可提高你的分数

您的系统是否能够检测 Nmap 扫描?

侦察是道德黑客攻击和渗透测试的第一阶段。 黑客使用侦察阶段来定位系统中的缺陷和漏洞以进行攻击。 因此,防御系统应该能够检测到它们。

如果您使用 SIEM(安全信息和事件管理)工具、防火墙和其他防御措施,您将收到警报。 以下是保护您的企业和组织免受网络攻击的最佳 SIEM 工具列表。 这些工具甚至有助于记录 Nmap 扫描。 漏洞扫描是值得的,因为早期识别可以避免将来对系统造成损害。

结论

我希望你发现这篇文章对学习如何使用 Nmap 进行漏洞扫描非常有用。

您可能也有兴趣了解开源 Web 安全扫描器列表以查找漏洞。