如何利用黄金票据拿下域控?
内网渗透测试完整流程:从信息收集到域控拿下
在一次针对金融行业的内部渗透演练中,红队在获取域管理员凭证后并没有直接尝试登录,而是先验证了是否能够复制 krbtgt 哈希并伪造黄金票据,这一步骤往往决定了能否“一键”接管整个 Active Directory。
黄金票据的本质
黄金票据(Golden Ticket)本质上是一张使用域根密钥(krbtgt)签名的 Kerberos TGT(Ticket Granting Ticket),只要构造成功,持有者即可在票据有效期内冒充任意域用户,甚至是 Enterprise Admin。这背后是 Kerberos 对称加密的设计缺陷:只要拥有 krbtgt 的明文散列,就能自行颁发无限制的票据。
前置条件与信息收集
要想顺利生成黄金票据,必须先把域控的 krbtgt 哈希拉下来。常见的收集路径包括:
- 利用 DCSync(Mimikatz
lsadump::dcsync)直接从域控制器同步 krbtgt 哈希。 - 在拥有域管理员权限的机器上读取 SAM/NTDS.dit,配合
secretsdump.py导出。 - 通过凭证转储(Mimikatz
sekurlsa::logonpasswords)捕获已登录的 krbtgt 票据并逆向提取散列。
生成黄金票据的关键步骤
- 确认目标域的 SID(
net user /domain)与 krbtgt 哈希。 - 在本地机器上启动 Mimikatz,使用
kerberos::golden命令注入自定义用户(如admin)的 SID、域名、以及 krbtgt 散列。 - 指定票据有效期(默认 10 小时),若需要长期控制,可在
maxlife参数上做适当延长。 - 生成后立即执行
klist purge清除旧票据,防止冲突。 - 使用
whoami /all验证当前身份已经跃升为Domain Admins,随后即可横向移动或在域控上执行持久化。
说白了,这套流程比起传统的密码爆破要快上数十倍;一次成功的 DCSync 再配合黄金票据,几乎可以在 5 分钟内完成从普通工作站到域控的“翻身”。
实战案例剖析
在 2025 年一次针对某大型制造企业的渗透测试中,红队在内部网络发现一台未打补丁的 Windows Server 2012 R2。利用 CVE‑2022‑26923 提权后,执行 mimikatz lsadump::dcsync /domain:corp.local /user:krbtgt 抓取到哈希(e1f2c3d4…),随后构造黄金票据并登录域控。结果显示,所有业务系统的管理员后台均在 3 分钟内被控制,后续报告中对该企业的 krbtgt 定期轮换和监控日志缺失提出了明确整改建议。
检测与防御要点
- 开启 Kerberos 事件审计(Event ID 4768/4769),监控异常的 TGT 颁发。
- 对
krbtgt账户实施强密码策略,并每 30 天轮换一次密钥。 - 使用 Windows Defender ATP 或 Sysmon 捕获
lsass.exe的内存读取行为。 - 限制 DCSync 权限,仅授予
Domain Controllers组成员。
如果没有做好上述防线,黄金票据就像一把隐藏在暗处的钥匙,随时可能被不速之客打开整座城堡的门。于是,安全团队在日常巡检中加入了对 krbtgt 哈希更改的自动化比对,确保任何异常都能在第一时间被捕获。

参与讨论
这个操作确实快,之前搞过类似的,折腾了一下午。
如果没开启审计日志,是不是就发现不了?
黄金票据这名字听起来就挺唬人的。
SID和哈希都有了,伪造起来应该不难吧?
感觉检测那部分写得挺实在,特别是那个事件ID。
DCSync权限限制确实是个关键点。
要是krbtgt哈希泄露了,整个域就悬了吧。
看不懂,但感觉挺厉害的。
这种攻击手法在企业内网里防起来是不是挺麻烦的?
有更简单的检测方法吗?光靠日志够吗?
之前测试的时候用mimikatz老是报错,不知道为啥。
5分钟拿域控,这效率有点吓人。
轮换密钥30天一次,实际运维中能坚持下来的不多。
对于没打过补丁的老系统,简直就是后花园。
所以关键还是得拿到那个krbtgt哈希。