自制分布式漏洞掃描工具
1.前言
在滲透測試和安全掃描工作中,發(fā)現(xiàn)越來越多站點部署了應(yīng)用防護系統(tǒng)或異常流量監(jiān)控系統(tǒng),其中包括:WEB應(yīng)用防火墻(軟件WAF、硬件WAF、云WAF)、入侵檢測系統(tǒng)、入侵防御系統(tǒng)、訪問監(jiān)控系統(tǒng)等。很多防護系統(tǒng)不僅可實時檢測攻擊和攔截,并且具備自動阻斷功能。當系統(tǒng)檢測到某些IP在特定時間段內(nèi)產(chǎn)生大量攻擊行為時會開啟阻斷功能,阻斷該IP在一定時間內(nèi)的任何訪問。
常見應(yīng)用防護系統(tǒng)和異常流量監(jiān)控系統(tǒng)的阻斷策略主要有以下幾種:
- 單IP訪問頻率 - 單IP+URL訪問頻率 - 單IP+COOKIE特定時間段內(nèi)攻擊次數(shù) - 單IP造成可疑或攻擊行為頻率 - 單IP特定時間段內(nèi)觸發(fā)HTTP404狀態(tài)次數(shù) - 識別掃描器暴力掃描行為(掃描器指紋)
2. 分布式漏洞掃描
2.1分布式漏洞掃描基本思路
通過自開發(fā)的“代理分發(fā)程序”,將掃描器發(fā)送的大量測試請求以自輪詢的方式分發(fā)給成千上萬臺HTTP代理服務(wù)器或webshell http proxy。通過該方法把掃描器的大量測試請求平均負載到多臺中間代理服務(wù)器上,這樣防護系統(tǒng)通過判斷訪問頻率和攻擊頻率的方式都無法觸發(fā)阻斷策略,可達到自動化掃描的目的。同時,通過在中間加一層BURP的過濾,可將各個掃描器的特殊指紋擦除,防護系統(tǒng)更加難以判斷攻擊行為。
分布式漏洞掃描的整體框架圖如下:
2.2常見掃描器及漏洞檢測工具
漏洞掃描器根據(jù)功能和特點分為多種類型,主要總結(jié)為以下幾類:
#全能應(yīng)用漏洞掃描器
- AcunetixWeb Vulnerability Scanner - IBMAppscan - HPWebInspect - Netsparker - Nussus - W3af - BurpSuite - N-Stalker 等
#特定漏洞工具
- Sqlmap - Havij - Pangolin - Safe3 等
#目錄猜解工具
- DirBuster - wwwscan - wscan 等
2.3掃描器指紋擦除
利用BURP擦除漏洞掃描器指紋
利用BURP的請求修訂功能可將數(shù)據(jù)流中的掃描器指紋信息進行擦除,排除明顯的掃描行為特征。
開啟Burp,進入“Proxy——>Options”中的“Match and Replace”功能將掃描器指紋信息消除,掃描器指紋信息大多包含Http頭部字段、http參數(shù)值、COOKIE特殊參數(shù)等如下圖:
以下總結(jié)部分常見應(yīng)用漏洞掃描器的指紋:
AcunetixWeb Vulnerability Scanner指紋特征
特征一:
請求的HTTP頭部字段包含以下幾種自定義字段名:
Acunetix-Aspect Acunetix-Aspect-Password Acunetix-Aspect-Queries
特征二:
請求的參數(shù)值中包含字符串特征:
acunetix_wvs_security_test
特征三:
請求的URI地址包含字符串特征:
/acunetix-wvs-test-for-some-inexistent-file
特征四:
請求的COOKIE參數(shù)名包含字符串特征:
acunetixCookie
HPWebInspect指紋特征
特征一:
請求的HTTP頭部字段包含以下幾種自定義字段名:
X-WIPP X-RequestManager-Memo X-Request-Memo X-Scan-Memo
特征二:
請求COOKIE參數(shù)名包含特征:
CustomCookie
Netsparker指紋特征
特征一:
請求中的參數(shù)值包含字符串:
netsparker
2.4HTTP代理分發(fā)程序
HTTP代理分發(fā)程序用于將來自漏洞掃描器的大量測試請求和流量平均的引流到多個代理IP地址或者webshell的代理IP,通過將大量的掃描流量分散到大量代理IP上,可規(guī)避防護及監(jiān)控系統(tǒng)的阻斷策略,從而順利實施掃描測試。
抓取大量代理服務(wù)器IP地址,并提取出針對目標站點可訪問的代理地址形成“有效代理列表”。分發(fā)程序從“有效代理列表”中依次提取代理地址,每發(fā)送一個測試請求即切換代理IP,并進行輪詢分發(fā)。
3. 總結(jié)
利用大量的開放匿名代理IP可實現(xiàn)很多功能,突破各種基于統(tǒng)計的防護設(shè)施.例如:
突破撞庫防護; 突破暴力破解防護; 突破地址猜解防護; 突破指紋猜解防護; 等等
引用黑防的一句恒久遠永流傳的話——在攻與防的對立統(tǒng)一中尋求突破。歡迎交流攻防戰(zhàn)術(shù)。