用途:该技能用于在红队行动与渗透测试中攻击 Microsoft Active Directory 环境,涵盖侦察、凭据收集、Kerberos 攻击、横向移动、权限提升以及域控接管。
输入与前置条件:需要 Kali Linux 或 Windows 攻击平台,多数攻击需要域用户凭据,并具备对域控制器的网络访问。涉及工具包括 Impacket、Mimikatz、BloodHound、Rubeus、CrackMapExec。
输出与交付物:域枚举数据、提取的凭据与哈希、用于冒充的 Kerberos 票据、域管理员访问权限以及持久化访问机制。
核心工具:BloodHound 用于 AD 攻击路径可视化,Impacket 提供 Python 版 AD 攻击工具,Mimikatz 用于凭据提取,Rubeus 用于 Kerberos 攻击,CrackMapExec 用于网络利用,PowerView 用于 AD 枚举,Responder 用于 LLMNR/NBT-NS 投毒。
主要流程:先进行 Kerberos 时钟同步(误差需在 ±5 分钟内),可用 nmap 的 smb2-time 脚本检测时钟偏移,在 Linux 上用 date 或 faketime 修正,在 Windows 上用 net time 同步;随后通过 BloodHound 与 SharpHound 或 bloodhound-python 采集数据;再用 PowerView 枚举域信息、用户、组和本地管理员访问,并进行用户狩猎。
凭据攻击:包括密码喷洒(kerbrute、CrackMapExec)、Kerberoasting(提取服务账户 TGS 票据后离线破解,hashcat 模式 13100)、AS-REP Roasting(针对不需 Kerberos 预认证的账户,hashcat 模式 18200)以及 DCSync(需要复制目录更改权限,用 secretsdump 或 Mimikatz 提取 krbtgt、Administrator 等凭据)。
Kerberos 票据攻击:Pass-the-Ticket(黄金票据,用 krbtgt 哈希伪造任意用户 TGT,Mimikatz 或 ticketer.py 配合 psexec 使用)、白银票据(为特定服务伪造 TGS)、Pass-the-Hash(psexec、wmiexec、smbexec、CrackMapExec)、OverPass-the-Hash(将 NTLM 哈希转换为 Kerberos 票据)。
NTLM 中继攻击:Responder 配合 ntlmrelayx 实施中继,可针对 LDAP 进行委派攻击,并通过 CrackMapExec 检查 SMB 签名生成中继目标列表。
AD CS 攻击:certipy 查找并利用 ESC1 配置错误的模板,ESC8 通过 Web 注册中继结合 ntlmrelayx 攻击。
关键 CVE:ZeroLogon(CVE-2020-1472,检查、利用、提取哈希并恢复密码)、PrintNightmare(CVE-2021-1675,检查 MS-RPRN 并利用需托管恶意 DLL)、samAccountName 欺骗(CVE-2021-42278/42287,可用 sam_the_admin.py 自动利用)。
快速参考:文档提供 Kerberoast、AS-REP Roast、DCSync、Pass-the-Hash、黄金票据、密码喷洒对应的工具与命令速查表。
约束:必须与域控同步时间后再执行 Kerberos 攻击,多数攻击需有效域凭据,需记录所有被攻陷账户;不得因过度密码喷洒导致账户锁定,未经批准不得修改生产 AD 对象,不得留下未记录的黄金票据;建议先运行 BloodHound 发现攻击路径,中继攻击前检查 SMB 签名,利用 CVE 前确认补丁级别。
示例:文档给出通过 Kerberoasting 实现域控接管的完整步骤(查找带 SPN 的服务账户、请求 TGS 票据、hashcat 破解、用破解凭据登录)以及 NTLM 中继到 LDAP 的步骤(启动中继、通过 PrinterBug 触发认证、利用创建的机器账户进行 RBCD 攻击)。
故障排查:针对时钟偏移过大、Kerberoasting 无结果、DCSync 拒绝访问、NTLM 中继失败、BloodHound 数据为空等问题提供对应处理建议。更多高级技术(委派攻击、GPO 滥用、RODC 攻击、SCCM/WSUS 部署、ADCS 利用、信任关系、Linux AD 集成)参见 references/advanced-attacks.md。