如何使用 Nmap 進行漏洞掃描?

已發表: 2022-04-07

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-vulnersvulscanvuln是 Nmap 搜索引擎中常見且最流行的 CVE 檢測腳本。 這些腳本允許您發現有關係統安全漏洞的重要信息。

Nmap 漏洞

最著名的漏洞掃描程序之一是 Nmap-vulners。 讓我們看看如何設置這個工具以及如何運行基本的 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

Vulscan 是一個 NSE 腳本,可幫助 Nmap 根據服務和版本檢測來檢測目標上的漏洞。 vulscan 就像 Nmap 的一個模塊,將其轉換為漏洞掃描程序。 Nmap 選項 -sV 允許每個服務的版本檢測,用於識別系統中檢測到的漏洞的潛在利用。

目前,可以使用以下預安裝的數據庫:

  • 漏洞利用數據庫.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>

最後,這裡列出了屬於“vuln”類別的所有 NSE 腳本。

您的系統是否能夠檢測 Nmap 掃描?

偵察是道德黑客攻擊和滲透測試的第一階段。 黑客使用偵察階段來定位系統中的缺陷和漏洞以進行攻擊。 因此,防禦系統應該能夠檢測到它們。

如果您使用 SIEM(安全信息和事件管理)工具、防火牆和其他防禦措施,您將收到警報。 以下是保護您的企業和組織免受網絡攻擊的最佳 SIEM 工具列表。 這些工具甚至有助於記錄 Nmap 掃描。 漏洞掃描是值得的,因為早期識別可以避免將來對系統造成損害。

結論

我希望你發現這篇文章對學習如何使用 Nmap 進行漏洞掃描非常有用。

您可能也有興趣了解開源 Web 安全掃描器列表以查找漏洞。