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