AutoFunkt
d8888 888 8888888888 888 888
d88888 888 888 888 888
d88P888 888 888 888 888
d88P 888 888 888 888888 .d b. 8888888 888 888 88888b. 888 888 888888
d88P 888 888 888 888 d88 88b 888 888 888 888 "88b 888 .88P 888
d88P 888 888 888 888 888 888 888 888 888 888888K 888
d8888888888 Y88b 888 Y88b. Y88 88P 888 Y88b 888 888 888 888 "88b Y88b.
d88P 888 "Y88888 "Y888 "Y P" 888 "Y88888 888 888 888 888 "Y888
malleable c2 => serverless cloud functions
作者:Adam Rose
GitHub | twitter
致谢
前置要求
- Python 3.9 或更高版本
- Google Cloud Functions CLI
- Azure Functions Core Tools
使用方法
- 克隆仓库:
git clone https://github.com/FortyNorthSecurity/AutoFunkt.git
- 安装依赖:
pip3 install -r requirements.txt
- 生成 Google Cloud Functions:
python3 autofunkt.py -p /path/to/profile -t https://teamserver.url -o /path/to/output/directory -g
- 生成 Azure Functions:
python3 autofunkt.py -p /path/to/profile -t https://teamserver.url -o /path/to/output/directory -a -s <azure-subdomain> -r <route-prefix>
命令行参数
-p, --profile_path:Malleable C2 配置文件路径(必填)
-t, --teamserver_url:Teamserver URL(必填)
-o, --output-dir:输出目录(必填)
-g, --google:生成 Google Cloud Functions(可选,默认:False)
-a, --azure:生成 Azure Functions(可选,默认:False)
-s, --azure-subdomain:Azure 子域(Azure 必填)
-r, --route-prefix:Azure 自定义路由前缀(可选,默认:None)
备注
teamserver_url 必须以 /(斜杠)结尾。
- Malleable C2 配置文件的
http-get 和 http-post 块中的 uri 值只能包含一个 URI 字符串。
- 对于 Google Cloud Functions,程序会为每个 URI 值创建一个目录,并在每个目录中生成
main.py 和 requirements.txt 文件。
- 对于 Azure Functions,程序会创建一个
azure 目录,并在其中生成 main.py、host.json、proxies.json 和 requirements.txt 文件。