cyberknight91/purple-lab

GitHub: cyberknight91/purple-lab

一个将ATT&CK攻击模拟与Sigma检测规则配对测试的紫色实验室框架。

Stars: 0 | Forks: 0

# purple-lab ### 结合了检测工程的对手模拟。

本仓库中的每个攻击测试都附带了能够检测它的规则。

## 存在的原因 大多数红队仓库只给你 payload。大多数蓝队仓库只给你规则。很少有仓库会给你**两者,并且是相互配对和测试过的**。 `purple-lab` 是我用来练习紫队项目的实验平台: 1. **模拟**在受控实验室中已知的 ATT&CK 技术。 2. **捕获**攻击产生的遥测数据。 3. **编写**能够检测它的 Sigma 规则 — 随后是 Elastic EQL 查询和 hunt 查询。 4. **测量**在良性基线下的误报率。 5. **记录**所有内容:kill-chain、规则、FP 笔记、runbook。 如果这五个步骤中缺少任何一个,该技术就不会进入 `main` 分支。 ## ATT&CK 覆盖范围 | ID | 技术 | 战术 | Atomic | Sigma | 状态 | |----|---------|---------|--------|:-----:|:------:| | `T1059.001` | PowerShell · Encoded Command | Execution | [链接](atomics/T1059.001_powershell_encoded) | [规则](detections/sigma/T1059.001_powershell_encoded.yml) | 完成 | | `T1053.005` | Scheduled Task / Job | Persistence | [链接](atomics/T1053.005_scheduled_task) | [规则](detections/sigma/T1053.005_scheduled_task.yml) | 完成 | | `T1003.001` | OS Credential Dumping · LSASS | Credential Access | [链接](atomics/T1003.001_lsass_dump) | [规则](detections/sigma/T1003.001_lsass_dump.yml) | 完成 | | `T1566.001` | Spearphishing Attachment · Macro → child | Initial Access | [链接](atomics/T1566.001_office_macro_spawn) | [规则](https://github.com/cyberknight91/detection-engineering/blob/main/rules/sigma/windows/initial_access/office_macro_suspicious_child.yml) | 完成 | | `T1018` | Remote System Discovery | Discovery | — | — | 计划中 | | `T1021.001` | Remote Services · RDP | Lateral Movement | — | — | 计划中 | | `T1047` | Windows Management Instrumentation | Execution | — | — | 计划中 | | `T1087.002` | Account Discovery · Domain | Discovery | — | — | 计划中 | | `T1136.001` | Create Account · Local | Persistence | — | — | 计划中 | | `T1218.011` | Signed Binary Proxy · Rundll32 | Defense Evasion | — | — | 计划中 | ## 仓库结构 ``` purple-lab/ ├── atomics/ lado ofensivo │ └── T_/ │ ├── README.md kill-chain, referencias, impacto │ ├── execute.ps1 / .sh la simulación en sí │ └── expected_events.md qué llega al SIEM ├── detections/ lado azul │ ├── sigma/ reglas Sigma canónicas │ ├── elastic/ EQL / KQL compilado │ └── _analysis.md por qué funciona + notas FP ├── docs/ │ ├── lab-setup.md cómo montar las VMs de lab │ ├── methodology.md mi workflow purple team │ └── attack-navigator.json export ATT&CK Navigator ├── scripts/ │ └── run-atomic.ps1 dispatcher para todos los atomics └── .github/workflows/ └── validate-sigma.yml CI: sigma-cli valida cada regla ``` ## 实验室要求 - 完全隔离的 Windows 10/11 虚拟机(不与生产环境桥接)。 - 安装了 [SwiftOnSecurity 配置](https://github.com/SwiftOnSecurity/sysmon-config) 的 Sysmon。 - 启用 PowerShell ScriptBlock 和 Module 日志记录(参见 [`docs/lab-setup.md`](docs/lab-setup.md))。 - 日志转发器将 `Microsoft-Windows-Sysmon/Operational` 和 `Security` 发送到 SIEM。 - 本仓库的参考 SIEM:配套仓库 [`siem-homelab`](https://github.com/cyberknight91/siem-homelab)(Wazuh + Elastic,一个 compose 文件)。 ## 用法 ``` # 1. 触发 atomic pwsh ./scripts/run-atomic.ps1 -Id T1059.001 # 2. 将 logs 发送到 SIEM(任何 forwarder 均可) # 3. 确认 Sigma 规则触发。在 Wazuh/Elastic 中: # rule_id:"T1059.001_powershell_encoded" # 4. 将 VM 恢复到 snapshot。 ``` 每个 atomic 文件夹都有自己的 `README.md`,其中包含完整的 kill-chain、确切的执行命令、预期的 Sysmon EventID 以及指向检测规则的指针。 ## 方法论 参见 [`docs/methodology.md`](docs/methodology.md)。简短版本: 1. **选择**真实威胁组织(APT29、FIN7、LAPSUS$、Vice Spider 等)使用的一项技术。 2. **重现**最小可行变体 — 不需要不必要的 OPSEC,我们要的就是产生噪音。 3. **捕获** SIEM 接收到的每个事件(Sysmon、4688、PowerShell 4104、Security 4624 等)。 4. **抽象**检测:哪些字段对该技术是*固有的*?不要只检测工具,要检测行为。 5. 针对 24 小时的良性活动进行**基线测试**。如果在 workstation 上的 FP > 1次/天,则规则需要调优 — 请将其记录下来。 6. **发布**配对内容:atomic + 规则 + 分析。 ## 路线图 - [x] 前 4 个带有 Sigma 和分析的 atomics - [ ] ATT&CK Navigator 层(已覆盖子集的 JSON 导出) - [ ] Elastic 规则包(可直接导入的 `.ndjson`) - [ ] 映射到 Wazuh 自定义规则(相同的 ID,local_rules.xml) - [ ] 紫队报告模板(管理层摘要 + 技术细节) - [ ] 对手模拟计划:APT29 · FIN7 · LAPSUS$ - [ ] Linux 覆盖范围:`T1053.003` (cron)、`T1548.003` (sudo)、`T1222.002` (chmod) ## 参考资源 - [MITRE ATT&CK](https://attack.mitre.org/) - [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) — atomic 格式的灵感来源 - [SigmaHQ](https://github.com/SigmaHQ/sigma) — 规则语法和转换工具 - [The DFIR Report](https://thedfirreport.com/) — 为技术选择提供参考的真实入侵事件 - [Sysmon Modular](https://github.com/olafhartong/sysmon-modular) — 遥测基线
作者 cyberknight91 · 属于 紫队作品集 的一部分 · MIT 许可证
标签:adversary_simulation, Cloudflare, Libemu, MITRE ATT&CK, OpenCanary, Sigma, 检测工程, 紫队