黄金票据攻击原理与防御?
内网渗透测试完整流程:从信息收集到域控拿下
想象一下,你手握一把能打开银行所有保险柜的万能钥匙——这就是黄金票据在Active Directory域环境中的威力。这种攻击手法之所以被称为"黄金",是因为攻击者一旦掌握,就能在域内为所欲为,甚至在被发现后依然保持持久访问权限。

Kerberos认证的软肋
要理解黄金票据,得先明白Kerberos协议的工作原理。当用户请求访问资源时,Kerberos密钥分发中心会签发票据授予票据和会话票据。黄金票据攻击的关键在于伪造票据授予票据,这需要获取krbtgt账户的NTLM哈希。krbtgt是域内特殊的服务账户,其密码哈希用于签名所有TGT票据。
攻击者通过域控制器同步或其他技术获取krbtgt哈希后,就能自主签发任意用户的TGT。这些伪造的TGT可以设置超长有效期——最长10年,远超正常票据的默认10小时生命周期。更可怕的是,即使域管理员重置所有用户密码,黄金票据依然有效,因为krbtgt账户的密码哈希才是关键。
攻击链条的致命环节
- 获取域SID:通过简单的
whoami /user或Get-ADDomain命令 - 窃取krbtgt哈希:通常通过DCSync攻击或直接转储域控制器内存
- 生成黄金票据:使用Mimikatz等工具,指定用户名、域名、SID和krbtgt哈希
- 注入内存:将伪造的TGT注入当前会话,立即获得域管理员权限
防御策略的多层部署
对抗黄金票据需要纵深防御。微软的Advanced Threat Analytics能够检测异常Kerberos活动,比如来自非域控制器的TGT签发请求。定期轮换krbtgt账户密码至关重要——微软建议在域功能级别提升后立即执行此操作,并在90天内重复。
实施LAPS确保每台计算机都有独立的管理员密码,限制横向移动能力。启用Credential Guard通过虚拟化基础安全隔离凭证,使Mimikatz等工具无法读取内存中的哈希。限制域控制器访问权限,只有必要的管理账户才能执行DCSync操作。
监控Kerberos事件4769,重点关注TGT签发的时间戳、加密类型和客户端地址。部署SIEM系统建立基线,当检测到异常模式时立即告警。这些措施结合起来,才能有效降低黄金票据攻击的成功率。
说到底,黄金票据暴露了Kerberos协议设计中的根本性弱点:过度依赖单个密钥的安全性。在当今复杂的网络环境中,假设攻击者永远无法获取krbtgt哈希已经不再现实。防御者必须转变思路,从"完全预防"转向"快速检测和响应",在攻击者利用黄金票据造成实质性损害前将其阻断。

参与讨论
这攻击手法也太吓人了吧,万能钥匙一样。