如何利用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”。
接着利用nmap-vulners和vulscan對同一台目標機器進行掃描,我們能夠看到輸出更多信息,這些信息包含了該OpenSSH版本可以利用的漏洞信息。
紅色方框是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就安裝成功了,不需要進行額外的配置。
接下來是安裝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對配置數據進行更新。
至此,vulscan的配置更新完成了,就可以開始使用nmap-vulners和vulscan這兩個腳本了。
NSE腳本使用起來非常方便,只需要在使用nmap命令的時候帶上參數–script然后帶上需要使用的腳本名稱即可。命令如下:
Nmap--script nmap-vulners -sV <target IP>
上面命令中的參數-sV一定要帶上,這個參數是告訴nmap需要探測目標地址的運行服務的版本信息。如果nmap沒有獲取服務版本信息,nmap-vulners就不會有任何有效結果輸出。
使用vulscan也是同樣的命令參數,只是在–script參數后面帶上vulscan腳本名稱就可以了。命令如下:
Nmap--script vulscan -sV <target IP>
默認情況下,vulscan會查詢前面提到的所有的數據配置文件,從上圖可以看出輸出內容較多。也可以通過添加vulscandb參數來指定查詢某個特定的數據配置文件,命令如下:
nmap --script vulscan --script-argsvulscandb=database_name -sV <target IP>
nmap --script vulscan --script-argsvulscandb=scipvuldb.csv -sV <target IP>
vulscan腳本的開發者會時常更新scipvuldb.csv這個數據配置文件,因此查詢這個數據配置輸出的結果是最新最全的。
上面兩個腳本我們也可以通過一個腳本整合起來使用,命令如下:
nmap --script nmap-vulners,vulscan --script-argsvulscandb=scipvuldb.csv -sV <target IP>
以上就是如何利用vulscan和nmap-vulners進行服務版本漏洞掃描,能夠幫助我們快速的找到目標主機上的服務存在的可以利用的漏洞,我們在進行企業安全檢查的時候,能夠快速的幫我們找到存在漏洞的服務,及時進行修復,保證服務的安全性。