Vulscan 是一個將 nmap 增強為漏洞掃描器的模組。 nmap 選項 -sV 啟用每個服務的版本檢測,用於根據已識別的產品確定潛在缺陷。資料在 VulDB 的離線版本中尋找。
請將檔案安裝到 Nmap 安裝的下列資料夾中:
Nmapscriptsvulscan*
像這樣複製 GitHub 儲存庫:
git clone https://github.com/scipag/vulscan scipag_vulscan
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
您必須執行以下最小命令來啟動簡單的漏洞掃描:
nmap -sV --script=vulscan/vulscan.nse www.example.com
目前有以下預裝資料庫可用:
您可以使用下列參數執行 vulscan 以使用單一資料庫:
--script-args vulscandb=your_own_database
也可以建立和引用您自己的資料庫。這需要創建一個資料庫文件,其結構如下:
<id>;<title>
只需像參考預先提供的資料庫之一一樣執行 vulscan。請隨意與我分享您自己的資料庫和漏洞連接,將其添加到官方存儲庫中。
漏洞資料庫定期更新和組裝。為了支援最新披露的漏洞,請保持本地漏洞資料庫最新。
要自動更新資料庫,只需為update.sh
檔案設定執行權限並執行它:
chmod 744 update.sh
./update.sh
如果您想手動更新資料庫,請造訪以下網站並下載這些檔案:
將檔案複製到您的 vulscan 資料夾中:
/vulscan/
如果版本檢測能夠識別軟體版本並且漏洞資料庫提供此類詳細信息,則該數據也是匹配的。
停用此功能可能會導致誤報,但也可能消除誤報並略微提高效能。如果要停用其他版本匹配,請使用以下參數:
--script-args vulscanversiondetection=0
vulscan 的版本檢測僅與 Nmap 版本檢測和漏洞資料庫條目一樣好。有些資料庫不提供決定性的版本信息,這可能會導致大量誤報(如 Apache 伺服器所示)。
該腳本僅嘗試識別最佳匹配。如果找不到陽性匹配,則會顯示最佳可能的匹配(可能是誤報)。
如果您想顯示所有匹配項(這可能會引入大量誤報,但可能對進一步調查有用),請使用以下參數:
--script-args vulscanshowall=1
交互模式可協助您覆寫每個連接埠的版本偵測結果。使用以下參數啟用互動模式:
--script-args vulscaninteractive=1
所有符合結果均逐行列印。預設佈局是:
[{id}] {title}n
可以使用另一個具有以下參數的預先定義的報告結構:
--script-args vulscanoutput=details
--script-args vulscanoutput=listid
--script-args vulscanoutput=listlink
--script-args vulscanoutput=listtitle
您可以使用以下參數(一些範例)來強制執行自己的報表結構:
--script-args vulscanoutput='{link}n{title}nn'
--script-args vulscanoutput='ID: {id} - Title: {title} ({matches})n'
--script-args vulscanoutput='{id} | {product} | {version}n'
動態報告範本支援以下元素:
每個預設資料庫都帶有一個 URL 和一個鏈接,在掃描期間使用,並且可以在自訂報告範本中作為 {link} 進行存取。要使用自訂資料庫鏈接,請使用以下參數:
--script-args "vulscandblink=http://example.org/{id}"
請記住,這種衍生漏洞掃描很大程度上依賴 nmap 版本檢測的置信度、記錄的漏洞數量以及模式匹配的準確性。潛在缺陷的存在無法透過額外的掃描或利用技術來驗證。