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开发, 可视化界面, 后端开发, 安全, 安全学习资源, 无线安全, 日志审计, 漏洞靶场, 紫队, 网络安全审计, 请求拦截, 超时处理, 逆向工具, 防御检测