关于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搜索结果;
工具运行截图
工具使用帮助
创建代理
删除代理
查看代理
工具使用演示
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
FireProx:【GitHub传送门】
参考资料
AWS Acceptable Use Policy
https://aws.amazon.com/security/penetration-testing/