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/firepro
然后切换到项目目录中,创建并激活一个虚拟环境:
$ 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镜像,可以直接使用下列命令(当前版本不支持在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搜索结果;
工具运行截图
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
FireProx:
https://github.com/ustayready/fireprox
https://aws.amazon.com/aup/ https://aws.amazon.com/security/penetration-testing/