黄金票据攻击如何彻底防御?
TOPIC SOURCE
权限提升实战:Windows 与 Linux 提权技巧
在企业的身份认证体系里,Kerberos 的黄金票据(Golden Ticket)常被比作一枚可以打开所有门的金钥,泄露后几乎能让攻击者在域内横行无阻。要想彻底防御这类攻击,光靠单一手段往往不够,需要从密钥管理、日志监控、系统硬化等多个维度同步发力。
攻击原理简析
攻击者首先获取域控制器的 krbtgt 账户密码散列,然后利用 mimikatz 伪造票据,伪装成任意域用户。因为 Kerberos 验证只检查票据的加密签名,若 krbtgt 的密钥被泄露,所有服务都会默认接受这枚“金票”。于是,原本受限的资源瞬间失去防护。
分层防御策略
- 密钥轮换:将
krbtgt密码每 30 天重新设置一次,避免长期暴露。 - 最小特权:对高价值账户启用 “Protected Users” 与 “Authentication Silos”,限制票据有效期。
- 日志审计:开启高级审计,捕获
Kerberos Ticket Granting Ticket (TGT)的异常创建与使用,配合 SIEM 实时告警。 - 凭证隔离:将域控制器的 NTDS.dit 与系统凭证存放在只读卷或使用 BitLocker 加密,降低被窃取的概率。
- 行为分析:部署基于机器学习的用户行为模型,识别出“从未登录的工作站突然出现管理员票据”的异常。
真实案例剖析
某金融机构在一次内部审计中发现,管理员账户在深夜的两台服务器上同时生成了有效期为 10 年的 TGT。进一步追踪发现,攻击者通过未打补丁的 Windows Server 2008 R2 上的 CVE-2019-1040 获得了系统权限,并提取了 krbtgt 哈希。事后,安全团队在更换 krbtgt 密码后,立即冻结了所有已生成的黄金票据,并通过 PowerShell 脚本强制注销所有会话,成功阻止了进一步的横向移动。
运维建议清单
- 定期执行
Invoke-CheckKerberosTicket脚本,列出异常票据。 - 在域控制器上启用
Protected Users组,禁止使用 NTLM 进行身份验证。 - 使用微软的 LAPS(Local Administrator Password Solution)管理本地管理员密码,防止凭证重用。
- 将所有关键服务器的时间同步至受控 NTP,防止时间漂移导致票据有效期被滥用。
防御黄金票据并非一次性工程,而是一套持续监控、定期审计与快速响应的闭环体系。只要每个环节都保持警惕,攻击者的“金钥”也会在不经意间失效。

参与讨论
这招也太狠了,域控一丢全玩完🤯
krbtgt密码30天一换真的能做到吗?