關于web-traffic-generator
web-traffic-generator是一款功能強大的HTTP和HTTPs流量混淆工具,該工具基于純Python開發,可以幫助廣大研究人員在HTTP或HTTPs網絡流量中提添加噪聲,以此來實作流量混淆的目的。
本質上來說,web-traffic-generator是一個網絡噪聲生成工具,可以用于紅隊或藍隊的事件響應或網絡防禦任務中。web-traffic-generator已在Ubuntu 14.04 & 16.04平台上進行過測試,理論上該工具支援在任何安裝了Python環境的作業系統上使用。
工具運作機制
首先,我們需要在腳本開頭部分指定一些配置資訊:
1、MAX_DEPTH = 10, MIN_DEPTH = 5:從每一個根URL(例如www.yahoo.com)開始,該工具會嘗試通路MIN_DEPTH和MAX_DEPTH之間一個随機深度的節點位址;
每一個HTTP GET請求之間的時間間隔會根據下列變量進行随機選取:
1、MIN_WAIT = 5:請求間最少間隔5秒,這個時間太短的話可能會被目标Web伺服器屏蔽;
2、MAX_WAIT = 10:請求間最多間隔10秒;
3、DEBUG = False:設定調試模式,設定為True則開啟Verbose模式,工具會實時列印出詳細的輸出和調試資訊;
4、ROOT_URLS = [url1,url2,url3]:根URL位址清單,工具會在其中随機選擇;
5、blacklist = [".gif", "intent/tweet", "badlink", etc...]:針對每個連結需要檢測的字元串黑名單,如果連結包含此清單中的任何字元串,則将丢棄該連結;
6、userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3).......':設定傳遞給Web伺服器的使用者代理(無頭浏覽器),我們可以将其設定為預設值,或根據需要進行修改;
工具環境
目前版本的web-traffic-generator同時相容Python 2.7和Python 3.x環境。
工具依賴
該工具的運作隻需要使用到requests庫,安裝指令如下:
sudo pip install requests
工具安裝
廣大研究人員可以直接使用下列指令将該項目源碼克隆至本地:
git clone https://github.com/ReconInfoSec/web-traffic-generator.git
工具使用
首先,我們需要建立一個配置檔案:
cp config.py.template config.py
然後直接運作web-traffic-generator即可:
python gen.py
調試資訊
如果将config.py配置檔案中的Debug變量設定為True的話,我們将檢視到如下所示的Verbose輸出資訊:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Traffic generator started
Diving between 3 and 10 links deep into 489 different root URLs,
Waiting between 5 and 10 seconds between requests.
This script will run indefinitely. Ctrl+C to stop.
Randomly selecting one of 489 URLs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com] ~~~ [depth = 7]
Requesting page...
Page size: 77.6KB
Data meter: 77.6KB
Good requests: 1
Bad reqeusts: 0
Scraping page for links
Found 171 valid links
Pausing for 7 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com/author/jon-brodkin/] ~~~ [depth = 6]
Requesting page...
Page size: 75.7KB
Data meter: 153.3KB
Good requests: 2
Bad reqeusts: 0
Scraping page for links
Found 168 valid links
Pausing for 9 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://arstechnica.com/information-technology/2020/01/directv-races-to-decommission-broken-boeing-satellite-before-it-explodes/] ~~~ [depth = 5]
Requesting page...
Page size: 43.8KB
Data meter: 197.1KB
Good requests: 3
Bad reqeusts: 0
Scraping page for links
Found 32 valid links
Pausing for 8 seconds...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recursively browsing [https://www.facebook.com/sharer.php?u=https%3A%2F%2Farstechnica.com%2F%3Fpost_type%3Dpost%26p%3D1647915] ~~~ [depth = 4]
Requesting page...
Page size: 64.2KB
Data meter: 261.2KB
Good requests: 4
Bad reqeusts: 0
Scraping page for links
Found 0 valid links
Stopping and blacklisting: no links
上述輸出中的最後一個URL抛出了一個錯誤資訊,因為我們将其添加到了config.blacklist黑名單數組中。
工具運作截圖
工具使用示範
示範視訊:https://asciinema.org/a/304683
許可證協定
本項目的開發與釋出遵循開源許可證協定。
項目位址
web-traffic-generator:https://github.com/ReconInfoSec/web-traffic-generator