BenmezOthmane/Enterprise-AD-Compromise-Simulation-Detection-and-Response
GitHub: BenmezOthmane/Enterprise-AD-Compromise-Simulation-Detection-and-Response
集成 Wazuh 与 Azure 的企业级 AD 攻防演练实验室,覆盖从攻击模拟到检测响应的全流程。
Stars: 0 | Forks: 0
## 企业级 AD 攻陷模拟与检测
## 项目概述
本项目模拟了一次**真实的 Active Directory 攻陷过程** —— 从初始网络侦察到完全接管域管理员权限 —— 同时在 Wazuh SIEM 之上构建**检测工程层**。
每一次攻击都映射到 **MITRE ATT&CK**,通过**自定义 Wazuh 规则**进行检测,并记录完整的攻击时间线。该环境还集成了 **Azure Entra ID** 以实现混合云可见性,以及**自动化异地备份**流水线。
## 目标
| # | 领域 | 目标 |
|---|---|---|
| 1 | **基础设施** | 使用 pfSense 部署分段网络环境,包含隔离的攻击区和办公区 |
| 2 | **攻击** | 执行常见的 AD 攻击向量:LLMNR Poisoning、Kerberoasting、Pass-the-Hash、权限提升 |
| 3 | **分析** | 深入分析 Windows Event Logs 和 Sysmon 以识别攻击者痕迹 |
| 4 | **防御** | 设计自定义 Wazuh 检测规则、解码器和自动响应动作 |
| 5 | **混合可见性** | 将 Azure 云和本地日志整合到统一的监控仪表板中 |
## 架构图
```
┌────────────────────────┐
│ pfSense FW │
│ (VLAN/Static Routing) │
└─────┬────────────┬─────┘
│ │
┌────────────────────────────▼──┐ ┌──────▼─────────────────────┐
│ LAN CORPORATE ZONE │ │ LAN ATTACKER ZONE │
│ (Internal Network) │ │ (Untrusted Network) │
│ │ │ │
│ ┌─────────────────────────┐ │ │ ┌──────────────────────┐ │
│ │ Windows Server 2022 │ │ │ │ Kali Linux │ │
│ │ (Domain Controller) │ │ │ │ (Threat Actor) │ │
│ │ SOC.local │ │ │ └──────────────────────┘ │
│ └────────────┬────────────┘ │ └────────────────────────────┘
│ │ │
│ ┌────────────▼────────────┐ │ ┌────────────────────┐
│ │ Windows 10 Pro │ │ │ HYBRID CLOUD │
│ │ (Domain Joined) │◄─┼──────────►│ Azure Entra ID │
│ └────────────┬────────────┘ │ │ (Monitoring) │
│ │ │ └────────────────────┘
│ ┌────────────▼────────────┐ │
│ │ Ubuntu Server │ │ ┌────────────────────┐
│ │ ┌─────────────────┐ │ │ │ EXTERNAL DATA │
│ │ │ Wazuh (Docker) │◄───┼──┼──────────►│ OFFSITE BACKUP │
│ │ ├─────────────────┤ │ │ └────────────────────┘
│ │ │ Automated Backup│ │ │
│ │ └─────────────────┘ │ │
│ └─────────────────────────┘ │
└───────────────────────────────┘
```
| 机器 | 操作系统 | 角色 |
|---|---|---|
| DC01 | Windows Server 2022 | Domain Controller — SOC.local |
| WORKSTATION01 | Windows 10 Pro | 加入域的受害端点 |
| SIEM01 | Ubuntu Server | Wazuh SIEM + Backup (Docker) |
| ATTACKER | Kali Linux | 红队 / 威胁行为者 |
| FIREWALL | pfSense | 网络分段与路由 |
## 攻击模拟(计划中)
### 阶段 1 — 侦察与初始访问
- **技术:** LLMNR/NBT-NS Poisoning
- **工具:** Responder
- **目标:** 在不接触 DC 的情况下从广播流量中捕获 NTLMv2 哈希
- **MITRE:** [T1557.001](https://attack.mitre.org/techniques/T1557/001/)
### 阶段 2 — 凭证访问
- **技术:** Kerberoasting
- **工具:** Impacket `GetUserSPNs.py`, Rubeus
- **目标:** 提取服务账户的 TGS 票据 → 离线破解
- **MITRE:** [T1558.003](https://attack.mitre.org/techniques/T1558/003/)
### 阶段 3 — 横向移动
- **技术:** Pass-the-Hash
- **工具:** CrackMapExec, Impacket `psexec.py`
- **目标:** 使用 NTLM 哈希认证到其他机器 —— 无需明文密码
- **MITRE:** [T1550.002](https://attack.mitre.org/techniques/T1550/002/)
### 阶段 4 — 权限提升 → 域管理员
- **工具:** BloodHound, SharpHound, PowerView
- **目标:** 映射 AD 错误配置并将权限提升至域管理员
- **MITRE:** [T1078.002](https://attack.mitre.org/techniques/T1078/002/)
## 检测工程(计划中)
每个攻击阶段都将具有相应的**自定义 Wazuh 规则**并映射 MITRE。
| 攻击 | 日志源 | 关键指标 | MITRE |
|---|---|---|---|
| LLMNR Poisoning | Network / pfSense | UDP 5355/137 异常,意外的出站 NTLMv2 | T1557.001 |
| Kerberoasting | Windows Security Log | Event ID **4769** — 请求 RC4/DES 加密 | T1558.003 |
| Pass-the-Hash | Windows Security Log | Event ID **4624** — 来源异常的 Logon Type 9 | T1550.002 |
| 权限提升 | Windows Security Log | Event ID **4728** — 成员被添加到特权组 | T1078.002 |
## 响应(计划中)
- **告警:** 关键 AD 安全组更改时触发实时通知
- **主机隔离:** 通过 Wazuh active response 代理自动隔离受损端点
- **升级:** 映射到响应 runbook 的告警严重性层级
## 加固(计划中)
这些将在每次攻击模拟后进行验证和记录:
- 通过 **Group Policy (GPO)** 禁用传统协议 (LLMNR/NetBIOS)
- 实施 **Group Managed Service Accounts (gMSA)**,使用自动轮换的复杂密码
- 强制执行 **Tiered Administration Model** 以防止跨层级重用凭证
- 为特权账户启用 **Protected Users Security Group**
- 要求 **仅限 AES 的 Kerberos 加密** —— 禁用 RC4/DES
## 工具
**红队**
| 工具 | 用途 |
|---|---|
| Responder | LLMNR/NBT-NS Poisoning |
| Impacket | PtH, Kerberoasting, 远程执行 |
| CrackMapExec | 横向移动 & AD 枚举 |
| BloodHound + SharpHound | AD 攻击路径发现 |
| Rubeus | Kerberos 票据滥用 |
| Hashcat | 离线哈希破解 |
**蓝队**
| 工具 | 用途 |
|---|---|
| Wazuh (Docker) | SIEM, XDR, 主动响应 |
| pfSense | 防火墙, VLAN 分段 |
| Sysmon | 深度 Windows 端点遥测 |
| Azure Entra ID | 混合云身份监控 |
| Wireshark | 网络流量分析 |
## MITRE ATT&CK 映射
| 战术 | 技术 | ID |
|---|---|---|
| Credential Access | LLMNR/NBT-NS Poisoning and SMB Relay | T1557.001 |
| Credential Access | Kerberoasting | T1558.003 |
| Lateral Movement | Pass the Hash | T1550.002 |
| Privilege Escalation | Valid Accounts: Domain Accounts | T1078.002 |
## 项目状态
- [ ] 实验室环境搭建与网络分段
- [ ] Wazuh 部署与 Agent 配置
- [ ] Windows 机器上部署 Sysmon
- [ ] 阶段 1 — LLMNR Poisoning 模拟 + 检测规则
- [ ] 阶段 2 — Kerberoasting 模拟 + 检测规则
- [ ] 阶段 3 — Pass-the-Hash 模拟 + 检测规则
- [ ] 阶段 4 — 权限提升模拟 + 检测规则
- [ ] Azure Entra ID 集成
- [ ] 自动化异地备份流水线
- [ ] 完整攻陷报告
## 法律免责声明
## 作者
**Othmane Benmezian**
网络安全 | 对抗模拟 · 蓝队 · 检测工程 · 事件响应
*"攻击指导防御。你不理解的东西,就无法检测。"*
标签:Active Directory, AD域攻击, AMSI绕过, Azure, Cloudflare, CTF学习, Kerberoasting, Libemu, Libemu, LLMNR投毒, MITRE ATT&CK, Modbus, PE 加载器, pfSense, Plaso, SCADA, Sysmon, Wazuh, Web报告查看器, Windows日志, 内网渗透, 协议分析, 哈希传递, 域环境, 域管接管, 威胁检测, 安全运营, 扫描框架, 攻击模拟, 权限提升, 模拟器, 混合云安全, 网络分段, 网络安全, 请求拦截, 隐私保护, 驱动签名利用