ChandraVerse/active-directory-penetration-test

GitHub: ChandraVerse/active-directory-penetration-test

一个完整的 Active Directory 渗透测试实验室项目,涵盖从侦察到域控沦陷的 8 阶段攻击链,并提供 MITRE ATT&CK 映射与 CVSS 专业评分报告。

Stars: 2 | Forks: 0

# Active Directory 渗透测试 ![许可证](https://img.shields.io/badge/license-MIT-blue.svg) ![平台](https://img.shields.io/badge/Platform-Windows%20Server%202019%2F2022-0078D4?logo=windows) ![ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK%20v14-red) ![语言](https://img.shields.io/badge/Python-3.10%2B-yellow?logo=python) ![阶段](https://img.shields.io/badge/Attack%20Phases-8-brightgreen) ![团队](https://img.shields.io/badge/Team-Red%20Team-red) ## 攻击截图 ### 1 · 阶段 1 — 对 DC01 进行 Nmap 侦察扫描 ![阶段 1 — Nmap 侦察](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ef04d84578171310.png) *对 DC01 (192.168.56.10) 进行的 Nmap `-sV -sC` 扫描。主要发现:LDAP 端口 389 开放,Kerberos 端口 88 开放,SMB 消息签名已启用但**非必需**(致命漏洞 — 可启用 SMB Relay 攻击),操作系统被识别为 Windows Server 2019 Standard 17763,在无需凭证的情况下泄露了域 FQDN `DC01.corp.local`。MITRE:T1046, T1595。* ### 2 · 阶段 2 — AS-REP Roasting → 哈希捕获与破解 ![阶段 2 — AS-REP Roasting](https://raw.githubusercontent.com/ChandraVerse/active-directory-penetration-test/main/docs/screenshots/screenshot2_asrep_roasting.png) *在零凭证状态下,使用 Impacket 的 `GetNPUsers.py` 对 50 个域账户进行测试。有两个账户(`jdoe`、`svc-monitor`)设置了 `UF_DONT_REQUIRE_PREAUTH` — 静默捕获了 AS-REP 哈希(无失败登录事件)。Hashcat 使用 `rockyou.txt` 字典在 **27 秒**内破解了这两个哈希:`jdoe → Summer2024!` 和 `svc-monitor → Monitor@2023`。MITRE:T1558.004。* ### 3 · 阶段 3 — BloodHound 通往 Domain Admin 的攻击路径 ![阶段 3 — BloodHound 攻击路径](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/1ab0891783171315.png) *在 `corp.local` 上通过 SharpHound 的 `All` 收集模式收集信息后,生成的 BloodHound CE 攻击路径图。从已失陷的 `jdoe` 到 Domain Admin 的最短路径为:`jdoe → HasSession → WS01$ → AdminTo → adm-user → MemberOf → Domain Admins → DCSync → DC01`。**4 次跳转,严重级别为 CRITICAL** — 仅凭一个低权限账户即可实现整个域的完全沦陷。MITRE:T1087.002, T1484。* ### 4 · 阶段 7 — Mimikatz LSASS 转储(WDigest 明文) ![阶段 7 — Mimikatz LSASS 转储](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/65e8c12666171321.png) *在通过哈希传递横向移动之后,在 DC01 上执行 Mimikatz 2.2.0 的 `sekurlsa::logonpasswords`。WDigest 缓存已启用 — **LSASS 内存中存储了明文密码**。提取出了 `adm-user → Admin@2024!`(NTLM: `e19ccf75...`)和 `jsmith → Password123!`。共 4 个域账户被攻陷。NTLM 哈希无需破解即可直接用于 PtH。MITRE:T1003.001。* ### 5 · 完整活动 — 攻击时间线(23 分钟完成域沦陷) ![攻击时间线](https://raw.githubusercontent.com/ChandraVerse/active-directory-penetration-test/main/docs/screenshots/screenshot5_attack_timeline.png) *在 `corp.local` 红队演练期间,所有 8 个攻击事件的严重性评分时间线。演练从 07:22 UTC 的严重性级别 2 的 Nmap 扫描开始,发展到 07:41–07:45 UTC 的双重严重性级别 10 事件(Golden Ticket + LSASS 转储)。从零凭证到完全攻陷整个域的总时间:**23 分钟**。* ## 目录 - [概述](#overview) - [架构](#architecture) - [攻击阶段](#attack-phases) - [MITRE ATT&CK 覆盖范围](#mitre-attck-coverage) - [工具参考](#tools-reference) - [实验室配置](#lab-setup) - [项目结构](#project-structure) - [作者](#author) ## 概述 本实验室复现了一个真实的企业 Active Directory 环境并演示了一次**端到端渗透测试过程** — 所采用的方法论与专业红队及 OSCP/CEH 从业者使用的方法完全相同。 本次测试遵循 **8 阶段红队杀伤链**: 1. **侦察** — 网络扫描、LDAP/DNS 枚举、用户名收集 2. **初始访问** — 密码喷洒、AS-REP Roasting、LLMNR 投毒、SMB Relay 3. **失陷后枚举** — BloodHound、PowerView、LDAP 域转储 4. **权限提升** — Kerberoasting、ACL/ACE 滥用、令牌模拟 5. **横向移动** — 哈希传递、票据传递、WMI、Evil-WinRM 6. **权限维持** — Golden Ticket、Silver Ticket、DCSync、AdminSDHolder 7. **凭证转储** — LSASS、SAM/LSA、NTDS.dit、Mimikatz 8. **防御规避** — AMSI 绕过、事件日志清除、LOLBins ### 核心亮点 | 指标 | 值 | |--------|-------| | 攻击阶段 | 8 | | 覆盖的 ATT&CK 技术 | 25+ | | 演示的工具 | 10+ | | 实验室环境 | Windows Server 2019 + Kali Linux | | 域名 | `corp.local` | | MITRE ATT&CK 版本 | v14 | | 记录的发现 | 4(2 个严重,1 个高危,1 个中危) | ## 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ ATTACKER MACHINE │ │ Kali Linux · 192.168.56.5 │ │ Impacket · BloodHound · CrackMapExec · Mimikatz · Kerbrute │ └──────────────────────────┬──────────────────────────────────────┘ │ Host-Only Network (192.168.56.0/24) ┌───────────────┴───────────────┐ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │ DOMAIN CONTROLLER │ │ WORKSTATION │ │ DC01 · 192.168.56.10│ │ WS01 · 192.168.56.20│ │ Windows Server 2019│ │ Windows 10/11 │ │ AD DS · DNS · LDAP │ │ Domain-Joined │ │ Kerberos · SMB │ │ Simulated User │ └─────────────────────┘ └─────────────────────┘ │ │ └──────────── corp.local ───────┘ (AD Forest Root) ``` 完整的虚拟机配置和网络配置指南请参见 [`lab-setup/`](lab-setup/)。 ## 攻击阶段 每个阶段都有一个专属文件夹,其中包含**逐步的命令**、**工具用法**以及 **MITRE ATT&CK 映射表**。 | 阶段 | 文件夹 | 关键技术 | ATT&CK ID | |-------|--------|----------------|------------| | 1 · 侦察 | [`01-recon/`](01-recon/) | Nmap, LDAP 枚举, Kerbrute, SMB 空会话 | T1595, T1046, T1087.002 | | 2 · 初始访问 | [`02-initial-access/`](02-initial-access/) | 密码喷洒, AS-REP Roasting, Responder | T1110.003, T1558.004, T1557.001 | | 3 · 枚举 | [`03-enumeration/`](03-enumeration/) | BloodHound, PowerView, LDAP 转储 | T1087.002, T1018, T1135 | | 4 · 权限提升 | [`04-privilege-escalation/`](04-privilege-escalation/) | Kerberoasting, ACL 滥用, 令牌模拟 | T1558.003, T1548, T1484 | | 5 · 横向移动 | [`05-lateral-movement/`](05-lateral-movement/) | 哈希传递, 票据传递, WMI, WinRM | T1550.002, T1550.003, T1021.006 | | 6 · 权限维持 | [`06-persistence/`](06-persistence/) | Golden Ticket, Silver Ticket, DCSync | T1558.001, T1558.002, T1003.006 | | 7 · 凭证转储 | [`07-credential-dumping/`](07-credential-dumping/) | LSASS, SAM, NTDS.dit, Mimikatz | T1003.001, T1003.002, T1003.003 | | 8 · 防御规避 | [`08-defense-evasion/`](08-defense-evasion/) | AMSI 绕过, 日志清除, LOLBins | T1562.001, T1070.001, T1218 | ## MITRE ATT&CK 覆盖范围 所有技术均映射至 [MITRE ATT&CK Enterprise Matrix v14](https://attack.mitre.org/matrices/enterprise/)。每个阶段的文件夹都包含一个 `mitre-mapping.md` 文件,其中提供了每种技术的详细信息。 | 战术 | 覆盖的技术 | |--------|--------------------| | 侦察 | T1595, T1046 | | 初始访问 | T1566, T1110.003 | | 执行 | T1047, T1059.001 | | 权限维持 | T1053.005, T1547.001, T1558.001 | | 权限提升 | T1548, T1134, T1484 | | 防御规避 | T1562.001, T1070.001, T1218, T1140 | | 凭证访问 | T1003.001, T1003.002, T1003.003, T1558.003, T1558.004 | | 发现 | T1087.002, T1018, T1135 | | 横向移动 | T1550.002, T1550.003, T1021.006, T1021.002 | | 命令与控制 | T1557.001 | ## 工具参考 本实验室演示的所有工具及其安装和关键用法命令均在 [`tools/`](tools/) 中提供。 | 工具 | 用途 | 阶段 | |------|---------|-------| | [BloodHound](https://github.com/BloodHoundAD/BloodHound) | AD 攻击路径可视化 | 枚举 | | [Impacket](https://github.com/fortra/impacket) | 远程协议漏洞利用套件 | 所有阶段 | | [Mimikatz](https://github.com/gentilkiwi/mimikatz) | 从内存中提取凭证 | 凭证转储 | | [CrackMapExec](https://github.com/mpgn/CrackMapExec) | SMB/AD 横向移动与喷洒 | 初始访问, 横向移动 | | [Rubeus](https://github.com/GhostPack/Rubeus) | Kerberos 攻击工具包 | 权限提升, 权限维持 | | [PowerView](https://github.com/PowerShellMafia/PowerSploit) | 通过 PowerShell 进行 AD 枚举 | 枚举 | | [Kerbrute](https://github.com/ropnop/kerbrute) | Kerberos 用户名/密码喷洒 | 侦察, 初始访问 | | [Evil-WinRM](https://github.com/Hackplayers/evil-winrm) | 支持 PtH 的 WinRM Shell | 横向移动 | | [Responder](https://github.com/lgandx/Responder) | LLMNR/NBT-NS 投毒与捕获 | 初始访问 | | [Nmap](https://nmap.org) | 网络与端口扫描 | 侦察 | ## 实验室配置 ### 前置条件 - **宿主机**:至少 16 GB 内存,100 GB 可用磁盘空间 - **虚拟机监控程序**:VirtualBox 7.x 或 VMware Workstation 17.x - **Windows Server 2019** 评估版 ISO(可从 Microsoft 免费获取) - **Windows 10/11** 企业评估版 ISO - **Kali Linux** 2024.x - **Python**:3.10+ ### 快速开始 ``` # Clone 此 repository git clone https://github.com/ChandraVerse/active-directory-penetration-test.git cd active-directory-penetration-test # Review lab 设置指南 cat lab-setup/README.md # 安装 Kali dependencies sudo apt install -y bloodhound neo4j impacket-scripts crackmapexec kerbrute evil-winrm pip3 install impacket # 在 DC01 上 Provision AD users(在 Windows Server 上运行) # 完整 PowerShell 脚本请参见 lab-setup/README.md 第 2 步 ``` ### 实验室网络 | 虚拟机 | 操作系统 | IP | 角色 | |----|----|----|------| | DC01 | Windows Server 2019 | 192.168.56.10 | 域控制器, DNS | | WS01 | Windows 10/11 | 192.168.56.20 | 加入域的工作站 | | Kali | Kali Linux 2024.x | 192.168.56.5 | 攻击机 | ## 项目结构 ``` active-directory-penetration-test/ ├── 01-recon/ │ └── README.md # Nmap, LDAP, DNS, SMB null session, Kerbrute ├── 02-initial-access/ │ └── README.md # Password spray, AS-REP, LLMNR, SMB Relay ├── 03-enumeration/ │ └── README.md # BloodHound, PowerView, ldapdomaindump ├── 04-privilege-escalation/ │ └── README.md # Kerberoasting, ACL abuse, token impersonation ├── 05-lateral-movement/ │ └── README.md # PtH, PtT, WMI, Evil-WinRM, PSRemoting ├── 06-persistence/ │ └── README.md # Golden Ticket, Silver Ticket, DCSync ├── 07-credential-dumping/ │ └── README.md # LSASS, SAM, NTDS.dit extraction ├── 08-defense-evasion/ │ └── README.md # AMSI bypass, log clearing, LOLBins ├── 09-reporting/ │ └── README.md # Report structure, severity ratings, finding template ├── docs/ │ ├── attack-findings.md # 🔴 Professional pentest report (4 findings, CVSS, remediation) │ └── screenshots/ # Attack evidence screenshots │ ├── screenshot1_nmap_recon.png │ ├── screenshot2_asrep_roasting.png │ ├── screenshot3_bloodhound_path.png │ ├── screenshot4_mimikatz_dump.png │ └── screenshot5_attack_timeline.png ├── tools/ │ └── README.md # All tool installation and quick-start commands ├── lab-setup/ │ └── README.md # VM setup, network config, AD provisioning scripts ├── LICENSE └── README.md ``` ## 作者 **Chandra Sekhar Chakraborty** 网络安全分析师 | 红队爱好者 | SOC 分析师(有志于此) 📍 印度西孟加拉邦 🔗 [GitHub](https://github.com/ChandraVerse)
标签:Active Directory, AI合规, AS-REP Roasting, Bitdefender, BloodHound, Cloudflare, CTI, CVE, CVSS评分, DCSync, ESC4, Hashcat, Impacket, MITRE ATT&CK, OPA, OSINT, Plaso, Python, SharpHound, SMB Relay, Windows Server, 协议分析, 域控安全, 域渗透, 安全报告, 实验室, 密码管理, 插件系统, 攻击路径映射, 数字签名, 数据展示, 无后门, 权限提升, 电子数据取证, 红队, 网络安全, 逆向工具, 隐私保护, 靶场