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 詳細輸...