paspptx1/c2-purple-team-showcase
GitHub: paspptx1/c2-purple-team-showcase
一个仅限实验室使用的教育性 C2 与紫队平台展示仓库,通过将无害的只读操作映射到 MITRE ATT&CK 技术并配套多种检测格式规则,帮助防御者学习和验证检测工程能力。
Stars: 0 | Forks: 0
# C2 与紫队研究平台 — 展示
## 这是什么?
**C2**(“命令与控制”)是攻击者使用的配置:一台控制其他机器上 **agent** 的 **服务器**。本项目构建了一个**安全、去除破坏性的版本**,以便防御者能够了解*这些攻击在网络流量和日志中的表现*——并练习检测它们。
这是一个**紫队**项目:对于这个(无害的) agent 能执行的每一个操作,都有对应的 **MITRE ATT&CK** 技术**以及**检测规则。可以把它看作是一个**用于网络防御的飞行模拟器**。
## 总体架构
```
You (operator)
│ logs in with a browser
▼
[ Dashboard ] ──▶ [ Backend API ] ──▶ [ C2 Server ] ──▶ [ Agent(s) ]
React web UI Python/FastAPI C or Go C or Rust
│ (lab machines
▼ you own)
[ Database ] ──▶ detections + MITRE ATT&CK alerts
```
完整设计解析 → [`docs/architecture.md`](./docs/architecture.md)。
## Agent 能做什么(且仅限于此)
只有 **5 个无害的、只读的任务** —— 每个都映射到 ATT&CK 并配有检测规则:
| 命令 | 功能 | ATT&CK | 检测规则 |
|------------------|------------------------|--------|-----------|
| `whoami` | 当前用户 | T1033 | [`sigma/discovery_user.yml`](./detections/sigma/discovery_user.yml) |
| `hostname` | 计算机名 | T1082 | [`sigma/discovery_system_info.yml`](./detections/sigma/discovery_system_info.yml) |
| `sysinfo` | OS / 架构 | T1082 | [`sigma/discovery_system_info.yml`](./detections/sigma/discovery_system_info.yml) |
| `listdir ` | 列出文件夹 | T1083 | [`sigma/discovery_file_directory.yml`](./detections/sigma/discovery_file_directory.yml) |
| `echo ` | 回显文本 | — | (连通性检查) |
## 是什么让它安全
整个项目遵循的七条硬性规则(全文见 [`CHARTER.md`](./CHARTER.md)):
❌ 无隐蔽 ❌ 无持久化 ❌ 无凭据窃取 ❌ 无权限提升
❌ 无 AV/EDR 绕过 ❌ 无破坏性操作 ❌ 无互联网 C2 — **仅限您自己的实验室**
它**在设计上是显眼且可观察的**:一切都被记录,默认绑定到 localhost / 私有实验室网络,并且开启了身份验证和 TLS。
## 此仓库包含的内容
| 文件夹 / 文件 | 展示内容 |
|---------------------------------------|------------------------------------------------------|
| [`detections/`](./detections) | **蓝队核心** — Sigma、YARA、Suricata/Snort、KQL、Splunk SPL 规则 + 示例日志 + 验证器 |
| [`docs/architecture.md`](./docs) | 组件、通信协议、数据流、信任边界 |
| [`CHARTER.md`](./CHARTER.md) | 指导该项目的道德与工程宪章 |
| [`samples/`](./samples) | 展示多语言工程的简短代码摘录 |
### 检测工程一览
每项功能只有在具备 **(a)** MITRE ATT&CK ID,**(b)** 至少一条检测规则,以及 **(c)** 示例日志 + 分析师备注时,才算“完成”。此仓库提供了涵盖六种检测格式的这些内容:
- **Sigma** — 通用 SIEM 规则(发现爆发、C2 注册、被拒绝的任务)
- **YARA** — agent 制品签名
- **Suricata / Snort** — 针对 C2 协议的网络规则
- **KQL** — Microsoft Sentinel / Defender 查询
- **Splunk SPL** — 搜索查询
- **示例日志** — 用于测试规则的真实 JSONL
验证规则集:
```
python detections/validate.py
```
## 展示的技能
- **安全软件工程**,涵盖 C、Go、Rust、Python 和 TypeScript。
- **网络协议设计** — 基于 TLS/mTLS 的会话协议。
- **检测工程** — 将功能映射到 ATT&CK 并以六种格式编写匹配的规则。
- **默认安全** — 身份验证、RBAC、限流、审计日志、输入验证。
- **DevOps** — Docker/Compose 打包以及多语言 GitHub Actions CI。
## 为什么这是一个子集
完整可用的平台(C/Go 服务器、C/Rust agent、FastAPI 后端、React 仪表板、Docker stack)位于一个**私有仓库**中。尽管本项目刻意去除了破坏性,但发布一个完整的、即开即用的 C2 对任何人都没有好处——因此,公开版本分享的是**设计理念和防御价值**,而不是现成的工具。如有需要,很乐意为您详细讲解完整的实现。
## 道德规范
仅在您自己拥有并保持隔离的**机器和网络**上运行此类工具。本项目的存在是为了帮助防御者。请勿以任何其他方式使用它。
标签:C2框架, Metaprompt, Syscall, Web开发, 可视化界面, 后端开发, 安全, 安全学习资源, 无线安全, 日志审计, 漏洞靶场, 紫队, 网络安全审计, 请求拦截, 超时处理, 逆向工具, 防御检测