Kate Li (Taiwan)的部落格

首頁

分佈式web漏洞掃描平臺wdscanner v1.1版本發佈

作者 urbin 時間 2020-03-16
all

隨著互聯網各種安全性漏洞愈演愈烈,JAVA反序列化漏洞、STRUTS命令執行漏洞、ImageMagick命令執行漏洞等高危漏洞頻繁爆發。在這種情況下,為了能在漏洞爆發後快速形成漏洞檢測能力,同時能對網站或主機進行全面快速的安全檢測,TideSec安全團隊(http://www.tidesec.net)自研開發了一套簡單易用的分佈式web漏洞檢測系統WDScanner。

WDScanner平臺現時實現了如下功能:

客戶管理:添加客戶、添加客戶持有系統、設定客戶持有系統的掃描策略、週期性掃描等

漏洞掃描:分佈式web掃描、漏洞定期掃描、敏感資訊洩露掃描、漏洞管理等

資訊蒐集:網站標題、banner、埠開放、子功能變數名稱、CMS指紋、作業系統版本、開發語言、WAF、CDN、中介軟體等

網站爬蟲:網站連結爬取、暗鏈檢測、壞鏈檢測、敏感字檢測

其他功能:代理蒐集、檢索中心、匯出報告

本平臺只是對目標系統進行資訊蒐集和埠開放性探測,漏洞掃描調用了wvs的掃描覈心,主要是為了方便大家對目標系統進行安全檢測並出具中文報告。

對互聯網任何目標的檢測均需在取得授權後方可進行,如需測試本平臺可用性請自行搭建靶機環境。若使用者囙此做出危害網路安全的行為後果自負,與作者無關,特此聲明。

v1.0版本: 在2019年3月開源在github上,但之前沒想到大家會對這個小平臺關注度這麼高,所以提供的安裝方法也比較簡陋,導致很多朋友在安裝時遇到一些問題浪費了一些時間,在此表示歉意。

v1.1版本: 2019年5月,根據大家的迴響,重新打包了整個環境,提供了三種詳細的安裝方式。由於裡面有個別模塊是對接的我們內網其他系統,所以這裡就不再提供。

GitHub地址:https://github.com/TideSec/WDScanner/

https://github.com/TideSec/WDScanner/

管道1:虛擬機器環境

1、下載虛擬機器鏡像

打包好的vmware鏡像,使用VMware Workstation 15 Pro製作,直接下載後解壓,用vmware打開即可,理論上15.0以上版本都可以。

在VMware Workstation 15及以上版本如果提示“導入失敗”,提示“規範一致性和硬體合規性”檢查什麼的,直接點“重試”即可。

連結:https://pan.baidu.com/s/1lqglKWzknAjeyrEnAaXLJA提取碼:icmv

虛擬機器為win7系統,用戶名TideSec,密碼123456。虛擬機器默認是nat模式聯網,理論上可自動分配ip地址可直接使用。

另外,虛擬機器為win7 sp1,沒打任何補丁,ms17010什麼的應該也有,如有必要請自行加固虛擬機器。

2、運行案頭上的phpstudy,啟動服務。

3、運行案頭上的Tide-proxy-bat.bat和Tide-WDScanner-bat.bat兩個檔案。

Tide-proxy-bat.bat Tide-WDScanner-bat.bat

4、本機訪問http://127.0.0.1 ,用戶名密碼為admin/123456,登入即可,然後進行添加客戶、添加任務、執行掃描等。

管道2:半集成安裝

1、下載軟體包

這裡面打包好了phpstudy環境,把它解壓到C盤根目錄下,目錄名不要變,即C:\WDScanner目錄下。

2、安裝python2.7、ruby、nmap、awvs10.5、pip等。

從安裝包的wdscan-soft目錄下安裝相應軟件,進行環境變數配寘。

3、安裝python依賴庫

因為後臺腳本都是使用的python來運行,所以調用了一些協力廠商庫,在TaskPython目錄下有個requirements.txt檔案

在TaskPython目錄下執行pip install -r requirements.txt即可。

pip install -r requirements.txt Tide-proxy-bat.bat Tide-WDScanner-bat.bat

5、本機訪問http://127.0.0.1 ,用戶名密碼為admin/123456,登入即可,然後進行添加客戶、添加任務、執行掃描等。

管道3:手工安裝

1、安裝python2.7、ruby、nmap、awvs10.5、pip等。

建議使用windows環境,因為wvs當時只能運行在windows環境下(現在好像有了linux版),wvs建議使用wvs10.5版本。python和pip安裝後配寘好環境變數。

我把上面需要幾個軟件進行了打包,在wdscan-soft目錄下,逐個安裝即可,下載地址:

wdscan-soft

2、安裝php運行環境

建議使用apache,php版本5.*不要太高,建議使用phpstudy,簡單便捷,一鍵部署。

將所有檔案放在c:\wdscanner\www目錄下。因為有些偷懶,把一些路徑寫的絕對路徑,如果自己有程式碼編輯能力,強烈建議自行二次開發。

3、安裝python依賴庫

因為後臺腳本都是使用的python來運行,所以調用了一些協力廠商庫,在TaskPython目錄下有個requirements.txt檔案

在TaskPython目錄下執行pip install -r requirements.txt即可。

pip install -r requirements.txt

4、解壓縮wdscanner.sql.zip,在mysql中新建資料庫wdscan,將其中的wdscanner.sql導入,在include目錄下的config.inc.php中修改資料庫密碼。

5、在掃描節點上運行TaskPython目錄下的taskscan.py、taskspider.py、taskinfo.py即可分別進行任務掃描、網站爬取關鍵字分析、資訊蒐集等。(由於w3af配套部署比較麻煩,所以本版本未集成w3af)

6、執行TaskPython/proxy目錄下的ip_pool.py、assess_quality.py可進行代理蒐集及代理評分。

7、本機訪問http://127.0.0.1 ,用戶名密碼為admin/123456,登入即可,然後進行添加客戶、添加任務、執行掃描等。

1、登錄介面

項目大廳,配色比較低俗

2、分佈式掃描

WDScanner使用了分佈式web漏洞掃描科技,前端服務器和用戶進行互動並下發任務,可部署多個掃描節點服務器,能更快速的完成掃描任務。

因為wvs的結果是英文的,如果需要提供報告給客戶的話友好度不高,所以對wvs的掃描結果、加固建議、漏洞描述等進行了漢化。

對wvs的漢化主要是爬取了wvs官方的漏洞庫,對較為常見的漏洞進行了人工翻譯,然後使用穀歌翻譯對其他漏洞進行了翻譯,人工進行了核對,最終大約包含670個漏洞。

漢化後的資料庫可從這個錶中獲取,https://github.com/TideSec/WDScanner,在資料庫檔案的vul_cn錶中。

https://github.com/TideSec/WDScanner

掃描覈心庫使用了secscanner+w3af+awvs三款工具(secscanner是在建的另一套web掃描器,w3af是最好的開源掃描器),使用較多的掃描工具可能導致掃描速度有所降低,但誤報率也會大大降低,掃描時也可選擇最實用的掃描策略以節省時間。

3、客戶管理

能對客戶和資產進行管理,根據客戶需求定制化掃描和監測方案,對網站進行定期掃描和網站爬取,檢索敏感字、壞鏈、暗鏈、資訊洩露等威脅,發現風險能及時提醒並告知客戶。

4、網站資訊收集

在添加新任務後,後臺可主動識別目標banner和作業系統資訊、埠開放、敏感檔掃描等。

自動識別開發語言、WAF、CMS和中介軟體等,並對常見埠進行掃描並判斷其服務。

子功能變數名稱的蒐集使用了暴力枚舉和互聯網檢索兩種方式,保證了子功能變數名稱的可用性並縮短了檢索時間。

5、網站爬蟲

現時政府類網站對暗鏈、敏感字和壞鏈等內容比較敏感,而網站爬蟲可較好的解决這部分需求。

網站爬蟲主要是週期性對目標整站頁面進行爬取,爬蟲算灋主要採用了寬度優先遍歷策略,可進行網頁連結蒐集、動態URL蒐集、網站敏感字檢索、暗鏈檢索、壞鏈檢測、存儲網頁快照等。

6、專項檢測

WDScanner集成了專項漏洞檢測功能,可在發生高危漏洞時快速部署檢測POC,對客戶網站進行批量安全性檢測。

7、檢索中心

檢索中心可使用關鍵字對漏洞掃描、資訊蒐集、網站爬蟲等進行檢索,如漏洞類型、作業系統類型、開放埠、中介軟體類型、開發科技等。

網站URL檢索,以檢索包含.action的URL為例。

8、代理資源池

內寘了代理資源池功能,對蒐集到的代理地址的可用性進行動態打分排序,可以在掃描探測被封ip時智慧切換IP地址。

9、節點管理

對掃描節點進行管理,不在範圍內的節點無法請求平臺任務。

10、報告輸出

報告輸出是專業掃描器不可缺少的部分,看起來功能不是很起眼,但的確花了我們很多時間和精力來實現這個功能。現在還只是實現了一個常規報告範本,而且在漏洞分類裏還有些重複,後續還會慢慢完善。

在任務管理裏每個任務都可以進行報告匯出,大家可以看下報告的大體版式和內容,本想加入圖表,暫時沒能實現。生成的報告大體這樣。

概述部分:

漏洞展示:

敏感字:

資訊洩露:

1、平臺是之前開發的,有些程式碼可能存在bug,不要部署在互聯網上;

2、部分功能因為耗時較長,已在程式碼中注釋掉,建議有興趣的可以進行二次開發。

3、提供的虛擬機器鏡像為win7 sp1,沒打任何補丁,ms17010什麼的應該也有,如有必要請自行加固虛擬機器。