Skip to main content

黄金票据

黄金票据

回顾一下 Kerberos 的认证流程,当用户申请 TGT 的时候,DC使用 krbtgt 的 NTLM 哈希加密了 TGT。当然了,krbtgt 的 NTLM 哈希仅对 DC所知。正因为如此,如果我们得到了 krbtgt 的密码哈希,那么我们可以用来任意地创建 TGT 票据。我们会在下文也提到白银票据,相比伪造一个 TGS,伪造 TGT 的优势在于可以以模仿的用户访问域内任何主机任何资源。

image.png

至于如何获得 krbtgt 的哈希,制作黄金票据往往发生在我们已经拿下了整个域,因此可以是通过 DCSync 获取 krbtgt 的哈希,可以是使用 mimikatz 在域控制器上从 lsass.exe 进程中提取,也可以是从 NTDS.dit 文件中提取。

image.png

有了 krbtgt 的哈希后,我们怎么制作黄金票据呢?我们需要这些参数

模仿的用户

域FQDN

krbtgt 的 aes256 密钥

域 SID

最终,可以通过 mimikatz的命令 kerberos::golden /user:Administrator /domain:<域FQDN> /aes256:<krbtgt aes256密钥> /sid:<SID> /ticket:<保存文件名> 制作

image.png

制作之后,可以使用 rubeus 或者 mimikatz 的 PTT 功能导入该票据。

 

白银票据

而伪造的 TGS 则是使用了特定主机的 AES256 密钥或者 NTLM 签名所伪造的白银票据,有了白银票据,我们可以模仿任何用户访问该主机上的任何服务,对于中短期的持久化具有帮助。虽然白银票据支持 AES256 密钥以及 NTLM 哈希,但是依旧更建议使用 AES256 密钥,原因在 Overpass The Hash 篇说过。我们依旧可以使用 mimikatz 来制作白银票据。我们需要这些参数

模仿的用户

域FQDN

主机

目标服务

主机帐号的 的 aes256 密钥 (例如srv01$)

域 SID

最终,通过命令 kerberos::golden /user:Administrator /domain:<域FQDN> /target:<主机> /service:<服务名> /aes256:<主机帐号 aes256密钥> /sid:<SID> /ticket:<保存文件名>

image.png

制作之后,依旧可以通过 Rubeus 或者 mimikatz 导入票据。