關于FireProx
FireProx是一款功能強大的AWS API網關安全管理工具,該工具可以幫助廣大研究人員建立實作唯一IP位址輪換的實時HTTP轉發代理。
在發送網絡請求或進行網絡互動時,實作源IP位址輪換是一個非常複雜的過程,雖然社群中也有相關的工具能夠實作該功能,但它們要麼受到了IP位址的數量限制,要麼就是成本太高,或者需要部署大量的V*S。
FireProx可以利用AWS API網關來建立轉發代理,并根據每一個請求來實作源IP位址輪換。FireProx支援建立一個指向目标伺服器的代理URL,然後再向傳回目标伺服器響應的代理URL發出Web請求.
功能介紹
1、針對每一個請求實作IP位址輪換;
2、支援配置單獨的區域;
3、支援所有的HTTP方法;
4、支援傳遞所有的參數和URI;
5、支援建立、删除、檢視和更新代理;
6、可以通過在請求中包含X-My-X-Forwarded-For Header來僞造X-Forwarded-For源IP位址;
工具下載下傳
由于該工具基于Python 3.6開發,是以我們首先需要在本地裝置上安裝并配置好Python 3.6+環境。接下來,廣大研究人員可以直接使用下列指令将該項目源碼克隆至本地:
$ git clone https://github.com/ustayready/fireprox
然後切換到項目目錄中,建立并激活一個虛拟環境:
$ cd fireprox
~/fireprox$ virtualenv -p python3 .
~/fireprox$ source bin/activate
進入虛拟環境後,使用pip工具和項目提供的requirements.txt檔案安裝該工具所需的其他依賴元件:
(fireprox) ~/fireprox$ pip install -r requirements.txt
(fireprox) ~/fireprox$ python fire.py
Docker使用
如需建構Docker鏡像,可以直接使用下列指令(目前版本不支援在Windows平台的Docker中使用):
$ git clone https://github.com/ustayready/fireprox
$ cd fireprox
$ docker build -t fireprox .
$ docker run --rm -it fireprox -h
工具使用
需要注意的是,該工具的正常運作需要提供AWS通路密鑰/敏感資料通路密鑰或AWS CLI配置。
usage: fire.py [-h] [--access_key ACCESS_KEY] [--secret_access_key SECRET_ACCESS_KEY] [--region REGION] [--command COMMAND] [--api_id API_ID] [--url URL]
工具參數指令
usage: fire.py [-h] [--profile_name PROFILE_NAME] [--access_key ACCESS_KEY] [--secret_access_key SECRET_ACCESS_KEY] [--session_token SESSION_TOKEN] [--region REGION] [--command COMMAND] [--api_id API_ID] [--url URL]
FireProx API Gateway Manager
optional arguments:
-h, --help 顯示工具幫助資訊和退出
--profile_name PROFILE_NAME
AWS配置檔案名稱,用于存儲和擷取憑證
--access_key ACCESS_KEY
AWS通路密鑰
--secret_access_key SECRET_ACCESS_KEY
AWS敏感資料通路密鑰
--session_token SESSION_TOKEN
AWS會話令牌
--region REGION AWS區域
--command COMMAND 支援的指令: list, create, delete, update
--api_id API_ID API ID
--url URL URL終端節點
工具使用樣例
examples/google.py:使用一個FireProx代理爬取Google搜尋結果;
examples/bing.py:使用一個FireProx代理爬取Bing搜尋結果;
工具運作截圖
工具使用幫助
建立代理
删除代理
檢視代理
工具使用示範
許可證協定
本項目的開發與釋出遵循開源許可證協定。
項目位址
FireProx:https://github.com/ustayready/fireprox
參考資料
https://aws.amazon.com/security/penetration-testing/