nmap漏洞掃描


如何利用NSE檢測CVE漏洞

*本文原創作者:yuegui_2004,本文屬FreeBuf原創獎勵計划,未經許可禁止轉載

原貼:http://www.freebuf.com/sectool/161664.html

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

首先,介紹兩個已經寫好的NSE 腳本,nmap-vulners(https://github.com/vulnersCom/nmap-vulners)和vulscan(https://github.com/scipag/vulscan),這兩個腳本都是通過輸出某一個特定服務(如SSH、RDP、SMB等)的CVE相關信息來提高檢測CVE漏洞的能力。Nmap首先通過掃描確認燒苗到的服務的版本信息,nmap-vulners和vulscan會利用該版本信息找出能夠利用該服務漏洞的CVE編碼,這樣使服務漏洞檢測更加的方便快捷。

舉個例子,Nmap本身自帶服務版本檢測功能,首先不使用上面的兩個腳本進行服務探測,在目標主機上發現在該機器的22端口上存在SSH服務,該SSH使用的版本是“OpenSSH 4.3”。

 

 

image.png

 

 

接着利用nmap-vulners和vulscan對同一台目標機器進行掃描,我們能夠看到輸出更多信息,這些信息包含了該OpenSSH版本可以利用的漏洞信息。

 

 

 image.png

 

 

紅色方框是nmap-vulners的掃描結果,該結果包含了過去幾年中可以利用的CVE漏洞編號,同時帶有CVE漏洞的嚴重程度分數,分數越高代表嚴重級別越高。藍色方框是vulscan的掃掃描結果,該結果則包含了與OpenSSH v4.3版本相關聯的漏洞信息。

 

 

這兩個腳本在檢測有漏洞的服務方面發揮了重要的作用。要利用這兩個腳本首先需要進行安裝,需要將這兩個腳本安裝在nmap的scripts目錄下,

 

 

Cd/usr/share/nmap/scripts/

 

 

然后將腳本clone到該目錄下:git clone https://github.com/vulnersCom/nmap-vulners.git

 

 

這樣nmap-vulners就安裝成功了,不需要進行額外的配置。

image.png

 

 

接下來是安裝vulscan,同樣是將該腳本clone到nmap的腳本目錄下:git clone https://github.com/scipag/vulscan.git

由於vulscan是利用預先存放在本地的配置文件來檢索CVE漏洞信息,因此需要對vulscan進行簡單的配置。這些配置文件放置在vulscan文件夾的根目錄下,vulscan支持多個漏洞數據庫配置,完整配置文件如下:

scipvuldb.csv

cve.csv

osvdb.csv

securityfocus.csv

securitytracker.csv

xforce.csv

expliotdb.csv

openvas.csv

為了確保這些配置已經更新至最新的數據,可以通過vulscan/utilities/updater/目錄中的腳本updateFiles.sh對配置數據進行更新。

 

 

image.png 

至此,vulscan的配置更新完成了,就可以開始使用nmap-vulners和vulscan這兩個腳本了。

NSE腳本使用起來非常方便,只需要在使用nmap命令的時候帶上參數–script然后帶上需要使用的腳本名稱即可。命令如下:

Nmap--script nmap-vulners -sV <target IP>

上面命令中的參數-sV一定要帶上,這個參數是告訴nmap需要探測目標地址的運行服務的版本信息。如果nmap沒有獲取服務版本信息,nmap-vulners就不會有任何有效結果輸出。

image.png 

使用vulscan也是同樣的命令參數,只是在–script參數后面帶上vulscan腳本名稱就可以了。命令如下:

Nmap--script vulscan -sV <target IP>

image.png

默認情況下,vulscan會查詢前面提到的所有的數據配置文件,從上圖可以看出輸出內容較多。也可以通過添加vulscandb參數來指定查詢某個特定的數據配置文件,命令如下:

 

nmap --script vulscan --script-argsvulscandb=database_name -sV <target IP>

nmap --script vulscan --script-argsvulscandb=scipvuldb.csv -sV <target IP>

 

 

 

image.png 

vulscan腳本的開發者會時常更新scipvuldb.csv這個數據配置文件,因此查詢這個數據配置輸出的結果是最新最全的。

上面兩個腳本我們也可以通過一個腳本整合起來使用,命令如下:

nmap --script nmap-vulners,vulscan --script-argsvulscandb=scipvuldb.csv -sV <target IP>

image.png

以上就是如何利用vulscan和nmap-vulners進行服務版本漏洞掃描,能夠幫助我們快速的找到目標主機上的服務存在的可以利用的漏洞,我們在進行企業安全檢查的時候,能夠快速的幫我們找到存在漏洞的服務,及時進行修復,保證服務的安全性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM