pranavsf54/purple-team-detection-lab

GitHub: pranavsf54/purple-team-detection-lab

一个完全隔离的 Active Directory 紫队检测实验室,覆盖从攻击模拟到 SIEM 检测规则编写与调优的完整安全工程闭环。

Stars: 0 | Forks: 0

# Purple Team Active Directory 检测实验室 ![网络拓扑](https://static.pigsec.cn/wp-content/uploads/repos/cas/f2/f229dfecb4fcb38014081fecb3081b601562dc48c0ecd8055ed474d622c80d47.png) 一个完全隔离、进行网络分段的 Active Directory 实验室,用于针对受监控的 Windows 域练习完整的 **攻击 -> 检测 -> 调优** 周期。每个主机都构建在 KVM/libvirt 上,通过带有 Suricata IDS 的 pfSense 防火墙进行分段,并由 Wazuh SIEM 进行监控。我们故意植入配置错误,从 Kali 设备发起攻击,然后将其转化为检测规则——从而端到端地展示每项技术,从攻击者的行为到捕获该行为的警报。 ## 本项目展示的内容 - 虚拟化和基础设施:KVM/QEMU/libvirt、隔离网络、主机调优 (KSM)、快照驱动的工作流。 - 网络工程:具有单一路由/IDS 关键节点的四区域网络分段。 - 检测工程:SIEM 部署、日志流水线、映射到 MITRE ATT&CK 的检测。 - 进攻性安全:执行并深入理解 Active Directory 攻击链(Kerberos 滥用、凭据窃取、ACL 滥用),而不仅仅是运行工具。 - 基础设施即代码和文档规范:可复现的构建、决策记录。 ## 架构 pfSense 是唯一在各个区域之间以及与互联网之间进行路由的设备,这迫使所有跨段和出口流量都经过防火墙和 Suricata。 | 网络 | CIDR | 角色 | 主机 | |---|---|---|---| | `lab-corp` | 192.168.10.0/24 | 企业 LAN | DC01, WS01, LINTGT01 | | `lab-mgmt` | 192.168.56.0/24 | 监控平面 | WAZUH01 | | `lab-dmz` | 192.168.20.0/24 | DMZ(未来阶段) | — | | `lab-attacker` | 192.168.100.0/24 | 攻击者 | KALI01 | pfSense 在每个区域(`.1`)上都有一个网关接口,并在 libvirt 的 NAT 网络上有一个 WAN 接口用于出口。完整编址请参见 `docs/03-build/00-networks.md`。 ## 组件 | 主机 | 角色 | 平台 | |---|---|---| | pfSense | 防火墙、路由器、DHCP/DNS/NTP、Suricata IDS | pfSense CE | | WAZUH01 | SIEM、HIDS、FIM、漏洞扫描器 | Ubuntu 22.04 LTS 上的 Wazuh 4.14.5 | | DC01 | 域控制器,`corp.lab.lan` | Windows Server 2022(2016 功能级别) | | KALI01 | 攻击发起平台 | Kali Linux 2026.1 | | WS01 | 域工作站 | Windows 11(已加入域) | | LINTGT01 | Linux 域目标 | Ubuntu 22.04(已加入域,DVWA) | ## 方法论 该实验室运行 Purple Team 循环,每次处理一个配置错误: 1. **植入**:向域中植入一个真实的弱点。 2. **攻击**:以低权限用户身份从 KALI01 发起攻击,生成真实的攻击者遥测数据。 3. **检测**:通过编写或调优规则(Wazuh/Sigma)来捕获该遥测数据。 4. **调优**:消除 BadBlood 生成的背景噪音带来的误报。 BadBlood 使用大约 2,500 名用户、数百个组和随机化的 ACL 填充域,因此检测规则必须找到植入的“针”,而不会对良性账户产生警报。 ## 预植入攻击面(第 4 阶段攻击链) 这些弱点是故意的,仅存在于隔离的实验室中。凭据故意设置为弱密码,严禁在任何其他地方重复使用。 | # | 配置错误 | 账户 / 对象 | MITRE ATT&CK | |---|---|---|---| | 1 | 可被 Kerberoasting 的服务账户 | `sqlsvc`(设置了 SPN) | T1558.003 | | 2 | 可被 AS-REP Roasting 的账户 | `jsmith`(无预身份验证) | T1558.004 | | 3 | SYSVOL 中的 GPP 明文密码 | `corp\backup-svc` | T1552.006 | | 4 | 弱 ACL (GenericWrite) | HOLLIE_MANN -> BUDDY_MCCARTY | T1098 | ## 阶段路线图 | 阶段 | 范围 | 状态 | |---|---|---| | 0 | 隔离 libvirt 网络、仓库、图表 | 已完成 | | 1 | 基础设施构建(pfSense、Wazuh、DC01、WS01、Kali、LINTGT01)+ 预植入配置错误 | 已完成 | | 2 | Wazuh agent、通过 GPO 部署的 Sysmon、PowerShell 日志记录、审计策略、基线、首次检测试运行、CI 测试框架 | 进行中 | | 3 | Atomic Red Team 攻击演练,检测并调优 15+ 项技术 | 计划中 | | 4 | 完整的 Active Directory 攻击链(AS-REP Roasting、Kerberoasting、ACL 滥用、DCSync、Golden Ticket) | 计划中 | | 5 | 威胁狩猎、阶段性事件、NIST 800-61 报告、Volatility 3 内存捕获 | 计划中 | | 5.5 | 云端切片:Microsoft Sentinel 试用、KQL 检测、Entra ID 身份检测 | 计划中 | | 6 | Python 自动化(扩充、覆盖率报告、微型 SOAR + AI 阶段)、Ansible | 计划中 | | 7 | README 润色、PDF 评估报告、演练视频、博客文章 | 计划中 | | 8 | 完整云阶段、完整身份覆盖 | 计划中 | ## 仓库结构 ``` docs/ 03-build/ 00-networks.md 01-pfsense.md 02-wazuh.md 03-domain-controller.md 04-workstation-ws01.md 05-attacker-kali.md 06-linux-target-lintgt01.md 13-troubleshooting-playbook.md ansible/ inventories/networks/ lab-attacker.xml lab-corp.xml lab-dmz.xml lab-mgmt.xml playbooks/ roles/ diagrams/ raw/ sigma-rules/ linux/ network/ windows/ tests/ README.md sample-events/ scripts/ coverage-reporter/ enrichment/ mini-soar/ reports/ README.md LICENSE ``` ## 重建实验室 1. 从 `ansible/inventories/networks/` 定义并启动四个隔离的网络。 2. 部署 pfSense,为每个区域连接一个接口,应用 `01-pfsense.md` 中的规则。 3. 根据构建说明构建 WAZUH01、DC01、WS01、KALI01 和 LINTGT01。 4. 使用 veth 对将宿主机修补到隔离网段,以便访问 Web UI(请参见 `00-networks.md`)。 ## 安全与范围 该实验室是完全隔离的:除了通过 pfSense,没有任何实验室虚拟机会触及互联网,并且攻击者区域无法到达监控平面。本仓库中的所有凭据都是故意设置的弱实验室值,用于预植入的配置错误。没有提交任何真实的机密信息——主机密码、Wazuh 管理员密码、API 密钥或 Ansible vault 材料;请参见 `.gitignore`。 ## 状态 第 1 阶段已完成:构建了全部六台虚拟机,提升了 `corp.lab.lan` 域,运行了 BadBlood,并植入和记录了四个配置错误。第 2 阶段正在进行中:Wazuh agent 已注册并正在报告,Sysmon 已通过 GPO 使用 sysmon-modular 配置部署,并且其事件已到达 Wazuh,PowerShell Script Block 和 Module Logging 已启用,并且针对第 4 阶段 DCSync 检测的“Audit Directory Service Access”策略以及域根 SACL 已到位。正在进行 48 小时的基线周期,以捕获任何攻击之前的正常噪音基准。剩余的第 2 阶段项目:完成基线噪音基准报告,将首次检测作为试运行进行端到端开发,以及建立 CI 规则测试框架。 ## 关于 由 Pranav Fangoo 构建,https://ca.linkedin.com/in/pranav-fangoo。
标签:Active Directory, Metaprompt, Plaso, Web报告查看器, 模拟器, 系统提示词, 紫队, 网络靶场, 逆向工具