Skip to main content

黄金票据

此时,我们已经拿到了域管理员的身份,并且可以随意地查询到任何用户的凭证,那么怎么进行之后的利用呢?

黄金票据

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

image.png

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

image.pngimage.png

有了 krbtgt 的哈希后,我们怎么还需要指定要模仿的用户、域的 FQDN、以及域的 SID。最终,我们可以使用 Rubeus 来制作黄金票据呢?我们需要这些参数

要模仿的用户Rubeus.exe 域FQDN
krbtgt的AES256密钥
域的SID

最终,可以通过以下的 Mimikatz的命令制作

kerberos::golden /aes256:-1-5-21-1674258736-4167122442-1078531953 /user:Administratoradministrator /domain:<域FQDN> /aes256:<krbtgt aes256密钥>prod.raven-med.local /sid:<SID>S-1-5-21-1674258736-4167122442-1078531953 /ticket:<保存文件名> nowrap

image.pngimage.png

image.png

制作之后,可以使用将票据保存为 rubeuskirbi 或者文件,然后通过 mimikatzCobaltStrikePTTkerberos_ticket_use 功能命令导入该票据从而访问任意资源


image.png

 

KB5008380 补丁


白银票据

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

要模仿的用户
域的FQDN
目标主机
目标服务
主机帐号的的AES256 密钥
域的SID

最终,通过以下命令生成白银票据: 

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

image.png

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