自制分散式漏洞掃描

wyzsk發表於2020-08-19
作者: TMaMba · 2014/01/13 17:01

0x00 前言


在滲透測試和安全掃描工作中,發現越來越多站點部署了應用防護系統或異常流量監控系統,其中包括:WEB應用防火牆(軟體WAF、硬體WAF、雲WAF)、入侵檢測系統、入侵防禦系統、訪問監控系統等。很多防護系統不僅可實時檢測攻擊和攔截,並且具備自動阻斷功能。當系統檢測到某些IP在特定時間段內產生大量攻擊行為時會開啟阻斷功能,阻斷該IP在一定時間內的任何訪問。

常見應用防護系統和異常流量監控系統的阻斷策略主要有以下幾種:

1、單IP訪問頻率 
2、單IP+URL訪問頻率 
3、單IP+COOKIE特定時間段內攻擊次數 
4、單IP造成可疑或攻擊行為頻率 
5、單IP特定時間段內觸發HTTP404狀態次數 
6、識別掃描器暴力掃描行為(掃描器指紋) 

0x01 分散式漏洞掃描


1) 分散式漏洞掃描基本思路

透過自開發的“代理分發程式”,將掃描器傳送的大量測試請求以自輪詢的方式分發給成千上萬臺HTTP代理伺服器或webshell http proxy。透過該方法把掃描器的大量測試請求平均負載到多臺中間代理伺服器上,這樣防護系統透過判斷訪問頻率和攻擊頻率的方式都無法觸發阻斷策略,可達到自動化掃描的目的。同時,透過在中間加一層BURP的過濾,可將各個掃描器的特殊指紋擦除,防護系統更加難以判斷攻擊行為。

分散式漏洞掃描的整體框架圖如下:

2014011309344133329.png

2) 常見掃描器及漏洞檢測工具

漏洞掃描器根據功能和特點分為多種型別,主要總結為以下幾類:

全能應用漏洞掃描器

Acunetix Web Vulnerability Scanner
IBM Appscan
HP WebInspect
Netsparker
Nussus
W3af
BurpSuite
N-Stalker

特定漏洞工具

Sqlmap
Havij
Pangolin
Safe3

目錄猜解工具

DirBuster
wwwscan
wscan 

3) 掃描器指紋擦除

利用BURP擦除漏洞掃描器指紋

利用BURP的請求修訂功能可將資料流中的掃描器指紋資訊進行擦除,排除明顯的掃描行為特徵。

開啟Burp,進入“Proxy——>Options”中的“Match and Replace”功能將掃描器指紋資訊消除,掃描器指紋資訊大多包含Http頭部欄位、http引數值、COOKIE特殊引數等如下圖:

2014011309350183102.png

以下總結部分常見應用漏洞掃描器的指紋:

Acunetix Web Vulnerability Scanner 指紋特徵

特徵一:

請求的HTTP頭部欄位包含以下幾種自定義欄位名:

Acunetix-Aspect 
Acunetix-Aspect-Password 
Acunetix-Aspect-Queries 

特徵二:

請求的引數值中包含字串特徵:

acunetix_wvs_security_test 

特徵三:

請求的URI地址包含字串特徵:

/acunetix-wvs-test-for-some-inexistent-file 

特徵四:

請求的COOKIE引數名包含字串特徵:

acunetixCookie 

HP WebInspect指紋特徵

特徵一:

請求的HTTP頭部欄位包含以下幾種自定義欄位名:

X-WIPP 
X-RequestManager-Memo 
X-Request-Memo 
X-Scan-Memo 

特徵二:

請求COOKIE引數名包含特徵:CustomCookie

Netsparker指紋特徵

特徵一:

請求中的引數值包含字串:

netsparker 

4) HTTP代理分發程式

HTTP代理分發程式用於將來自漏洞掃描器的大量測試請求和流量平均的引流到多個代理IP地址或者webshell的代理IP,透過將大量的掃描流量分散到大量代理IP上,可規避防護及監控系統的阻斷策略,從而順利實施掃描測試。

抓取大量代理伺服器IP地址,並提取出針對目標站點可訪問的代理地址形成“有效代理列表”。分發程式從“有效代理列表”中依次提取代理地址,每傳送一個測試請求即切換代理IP,並進行輪詢分發。

0x02 總結


一句恆久遠永流傳的話——在攻與防的對立統一中尋求突破。

 

 

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章