Nmap 用法詳解

2021-08-29 07:41:40 字數 3485 閱讀 1296

nmap 是一款應用最廣泛的安全掃瞄工具,備受滲透人員和黑客的青睞,在對目標伺服器進行掃瞄的時候,能夠快速識別潛在的漏洞。nse(nmap scripting engine)作為 nmap 的一部分,具有強大靈活的特性,允許使用者編寫自己的指令碼來完成各種各樣的網路掃瞄任務。nmap 本身內建有豐富的 nse 指令碼,可以非常方便的利用起來,當然也可以使用定製化的指令碼完成個人的需求。今天就要講講如何利用 nmap 的 scripts 檢測 cve 漏洞。

nmap 有乙個少為人知的部分是nse指令碼引擎,nse是 nmap 的最強大和靈活的功能之一。它允許使用者編寫(並共享)簡單的指令碼來自動執行各種網路任務。nmap 內建了全面的 nse 指令碼集合,使用者可以輕鬆使用這些 nse指令碼或者建立自定義 nse 指令碼以滿足他們的個性化需求。

使用 nse 指令碼更快地查詢更多漏洞

在這裡,我將一次演示兩個 nse 指令碼,nmap-vulners和vulscan。這兩種指令碼的設計都是為了增強 nmap 的版本檢測,為特定服務(如 ssh,rdp,smb 等)生成相關的 cve 資訊。cve 或通用漏洞披露是安全研究人員使用的一種方法,它利用資料庫對單個漏洞進行編目和引用。

例如,漏洞利用資料庫是公開披露的漏洞的流行資料庫。exploit-db 使用 cve 編制與特定版本的服務(如 "ssh v7.2")相關的單個漏洞和漏洞。以下是 exploit-db 的螢幕截圖 … 請注意分配給此特定 ssh 漏洞的 cve 編號。

nmap-vulners 和 vulscan 都可以使用 cve 記錄來增強 nmap 的版本檢測。nmap 將識別已掃瞄服務的版本資訊。nse 指令碼將獲取這些資訊並生成可用於利用該服務的已知 cve。這使查詢漏洞變得更簡單。

下面是不使用 nse 指令碼的 nmap 版本檢測示例。nmap 使用版本 "openssh 4.3" 在埠 22 上發現了乙個 ssh 服務。

使用 nse 指令碼的伺服器的例子。我們可以看到現在有更多的資訊輸出。

nmap-vulners nse 指令碼(以紅色突出顯示)報告了過去幾年中披露的十幾個 cve。nmap-vulners cves 按嚴重性組織,"9.3" 開始最嚴重,位於列表頂部,因此值得深入研究。vulscan nse 指令碼(以藍色突出顯示)還報告了十多個與 openssh v4.3 相關的有趣漏洞。

現在,在上面的螢幕截圖中有很多內容,所以讓我們先來學習如何在使用它們之前安裝這些 nse 指令碼。

安裝 nse 指令碼

步驟 1 安裝 nmap-vulners

要安裝 nmap-vulners 指令碼,我們首先使用cd切換到 nmap 指令碼目錄

cd /usr/share/nmap/scripts/

然後,通過在終端中輸入以下命令來轉殖 nmap-vulners github 儲存庫。

git clone

nmap-vulners 安裝後不需要配置

第 2 步 安裝 vulscan

要安裝 vulscan,我們還需要將 github 儲存庫轉殖到 nmap 指令碼目錄中。鍵入下面的命令來執行此操作。

git clone

如前所述,vulscan 利用本地儲存在我們計算機上的預配置資料庫。我們可以在 vulscan 目錄的根目錄中檢視這些資料庫。執行以下命令列出可用的資料庫。

ls vulscan/*.csv

vulscan 支援許多優秀的漏洞資料庫。這是乙個完整的列表:

·scipvuldb.csv

·cve.csv

·osvdb.csv

·securityfocus.csv

·securitytracker.csv

·xforce.csv

·expliotdb.csv

·openvas.csv

為確保資料庫完全保持最新,我們可以使用 vulscan /utilities/updater/ 目錄中的 updatefiles.sh 指令碼。通過在終端中輸入以下命令更改到更新程式目錄。

cd vulscan/utilities/updater/

然後,使用下面的命令確保該檔案具有在計算機上執行的適當許可權。

chmod+x updatefiles.sh

然後,我們可以通過在我們的終端中輸入以下命令來執行和執行指令碼。

./updatefiles.sh

步驟 3 使用 nmap-vulners 進行掃瞄

使用 nse 指令碼很簡單。我們所要做的就是將– script 引數新增到我們的 nmap 命令中,並告訴 nmap 使用哪個 nse 指令碼。要使用 nmap-vulners 指令碼,我們將使用下面的命令。

nmap --script nmap-vulners -sv

該 -sv 是絕對必要的。使用 -sv,我們告訴 nmap 探測版本資訊的目標位址。如果 nmap 不生成版本資訊,nmap-vulners 將不會有任何資料來查詢 vulners 資料庫。使用這些 nse 指令碼時始終使用 -sv。

步驟 4 使用 vulscan 進行掃瞄

我們可以像 nmap-vulners 一樣使用 vulscan nse 指令碼:

nmap --script vulscan -sv

預設情況下,vulscan 會一次查詢所有前面提到的資料庫!正如我們在上面的中看到的那樣,消化的資訊量非常大。這比我們需要的資訊要多得多。我強烈建議一次只查詢乙個資料庫。我們可以通過將 vulscandb 引數新增到我們的 nmap 命令並指定資料庫來實現此目的,如下面的示例所示。

nmap --script vulscan --script-args vulscandb = database_name -sv nmap --script vulscan --script-args vulscandb = scipvuldb.csv -sv nmap --script vulscan --script-args vulscandb = exploitdb.csv -sv nmap --script vulscan --script-args vulscandb = securitytracker.csv -sv

第 5 步 合併為乙個命令

nse 指令碼作為安全掃瞄器顯著提高了 nmap 的多功能性,範圍。為了充分利用 nmap 的版本掃瞄,我們可以在乙個命令中使用 nmap-vulners 和 vulscan。要執行此操作,請在終端中輸入以下命令。

nmap --script nmap-vulners,vulscan --script-args vulscandb = scipvuldb.csv -sv

通過以上的介紹我們知道了如何利用 vulscan 和 nmap-vulners 進行服務漏洞掃瞄,能夠快速的幫我們找到存在漏洞的服務,及時進行修復,保證服務的安全性。

nmap高階用法

nmap在資訊收集中起著很大的作用,今天我來總結一些nmap常用的一些命令 1.sp 進行ping掃瞄 列印出對ping掃瞄做出響應的主機,不做進一步測試 如埠掃瞄或者作業系統探測 下面去掃瞄192.168.43.0 24這個網段的的主機 2.sn ping探測掃瞄主機,若對方丟包,依然可以檢測 p...

nmap工具詳解

nmap工具詳解 全稱 簡介 nmap是linux下的網路掃瞄和嗅探工具包 基本功能 掃瞄主機埠,嗅探所提供的網路服務 推斷主機所用的作業系統。nmap可用於掃瞄僅有兩個節點的lan,直至500個節點以上的網路。nmap 還允許使用者定製掃瞄技巧。通常,乙個簡單的使用icmp協議的ping操 作可以...

nmap命令詳解

nmap ss p0 sv o 這裡的 target 可以是單一 ip,或主機名,或網域名稱,或子網 ss tcp syn 掃瞄 又稱半開放,或隱身掃瞄 p0 允許你關閉 icmp pings.sv 開啟系統版本檢測 o 嘗試識別遠端作業系統 其它選項 a 同時開啟作業系統指紋和版本檢測 v 詳細輸...