用途
Active Directory Attacks 用于针对微软 Active Directory 环境的安全评估与红队演练,涵盖侦察、凭据获取、Kerberos 攻击、横向移动、权限提升与域控拿下等环节。资料明确标注“仅限授权使用”:必须事先获得系统所有者的明确书面许可,未获授权时只能保持只读并提供防御性指导,且建议在沙箱、一次性虚拟机或受控实验环境中操作。
强制确认关卡
在执行任何探测、利用、更改、持久化、数据提取或尝试访问凭据的命令之前,需要:
- 让用户说明确切的目标 URL、IP、账号或资源;
- 让用户确认书面授权及允许范围;
- 展示确切的命令并解释其预期效果;
- 在当前对话中获得明确确认。
未获得确认时,仅保持只读并只提供防御性指导。
输入与前置条件
- 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 检测时钟偏移、Linux 与 Windows 修正时间、以及 faketime 假时钟的用法。第二步使用 BloodHound 进行 AD 侦察(neo4j console、bloodhound、SharpHound、bloodhound-python)。第三步用 PowerView 枚举域信息、用户、组、本地管理员访问与用户狩猎。
凭据攻击
- 密码喷洒:kerbrute、CrackMapExec
- Kerberoasting:GetUserSPNs.py、Rubeus、CrackMapExec、hashcat -m 13100
- AS-REP Roasting:GetNPUsers.py、Rubeus、hashcat -m 18200
- DCSync:secretsdump.py、Mimikatz lsadump::dcsync
Kerberos 票据攻击
- Pass-the-Ticket / 金票(Golden Ticket):Mimikatz kerberos::golden、Impacket ticketer.py
- 银票(Silver Ticket):Mimikatz kerberos::golden 指定目标与服务
- Pass-the-Hash:psexec.py、wmiexec.py、smbexec.py、CrackMapExec
- OverPass-the-Hash:getTGT.py、Rubeus asktgt
NTLM Relay 与证书服务
NTLM Relay 使用 Responder 加 ntlmrelayx.py,并可用 crackmapexec 生成 relay 目标列表、检查 SMB 签名。AD CS 部分覆盖 ESC1(配置错误的模板)与 ESC8(Web 注册中继),使用 certipy 进行发现、请求与证书认证。
关键 CVE
- ZeroLogon (CVE-2020-1472):检查、利用、提取哈希,并特别提示恢复密码
- PrintNightmare (CVE-2021-1675):检查与利用(需托管恶意 DLL)
- samAccountName 欺骗 (CVE-2021-42278/42287):自动化利用脚本
约束
必须:Kerberos 攻击前与 DC 同步时间;大多数攻击需有效域凭据;记录所有被攻陷账号。
禁止:过度密码喷洒导致账号锁定;未经批准修改生产 AD 对象;未记录即留下金票。
建议:运行 BloodHound 发现攻击路径;中继前检查 SMB 签名;利用 CVE 前确认补丁级别。
示例与故障排查
资料给出“通过 Kerberoasting 实现域攻陷”和“NTLM Relay 到 LDAP”两个示例流程,并针对时钟偏移过大、Kerberoasting 返回为空、DCSync 拒绝访问、NTLM relay 失败、BloodHound 为空等常见问题给出排查方向。
限制
该工具仅限授权安全评估、防御性验证或受控教学环境;使用时必须遵守合法合规要求,所有技术细节以资料原文为准。