Golden Ticket制作原理及利用方式

Krbtgt账户介绍

krbtgt用户,是系统在创建域时自动生成的一个帐号,其作用是密钥分发中心的服务账号,其密码是系统随机生成的,无法登录主机

Golden Ticket原理

TGT由Krbtgt的NTLM哈希加密而成
Golden Ticket本质是伪造TGT
1.Kerberos中的TGT和Logon Session Key(CT_SK)是AS返回的 ,TGP它是由Krbtgt加密和签名的 ,krbtgt的
NTLM Hash又是固定的,而CT_SK并不会保存在KDC中。
2.所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key(CT_SK)。
3.Client与TGS的交互中,而已有了Golden Ticket后(TGT),就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修
改。
当我们获得域控的控制权限后,有可能获取域内所有用户的hash,和krbtgt的hash。这时,由于一些原因导致我
们失去对目标的控制权,但是我们还留有一个普通用户的权限,并且krbtgt的密码没有更改,此时我们可以利用
krbtgt用户的ntlm hash制作Golden Ticket伪造TGT,重新获取域控的管理权限。

AS认证流程图

从图中不难看出只要拿到krbtgt用户的NTLM哈希就可以任意制作Golden Ticket了

Golden Ticket实验

实验环境

实验机器 Host
windows server 2012 (域控) 192.168.41.10
windows server 2008(域内成员) 192.168.41.20

实验前提

已经控制了域控

目的

如果域管理员发现了你控制了域控机器,把你的后门删除了,那么就不能继续控制域控了,这个时候当我们可以使用Golden Ticket重新获得域控的权限

Golden Ticket的制作条件

1.域名称
2.域的SID值
3.域的KRBTGT账号的HASH
4.伪造任意用户名
(获取域的SID和KRBTGT账号的NTLM HASH的前提是需要已经拿到了域的权限)

实验具体步骤

获取所需信息

直接生成Golden Ticket导入内存

发现可以直接访问域控

Silver Ticket制作原理及利用方式

服务账号介绍

服务账号就是计算机名字+$用来管理服务的账号

Silver Ticket原理

如果说Golden Ticket是伪造的TGT,那么Silver Ticket就是伪造的ST。 在Kerberos认证的第三部,Client带着ST和Authenticator3向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的Master Key 解密ST,从而获得 Session Key。通过 Session Key 解密 Authenticator3,进而验证对方的身份,验证成功就让 Client 访问server上的指定服务了。所以我们只需要知道Server用户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的门票只对部分服务起作用。

Silver Ticket实验

实验环境

实验机器 HOST
windows server 2012 (DC) 192.168.41.10
windows server 2008(域内成员) 192.168.41.20
windows server 2003(域内成员) 192.168.41.30

实验前提

以及控制了域控

Silver Ticket的制作条件

1.域名
2.域sid
3.目标服务器名
4.可利用的服务
5.服务账号的NTML HASH
6.需要伪造的用户名

Silver Ticket实验步骤

获取所需信息

伪造Silver Ticket导入内存

mimikatz kerberos::tgt 查票
mimikatz kerberos::purge 清票
cobaltstrike:shell klist 查票
cobaltstrike:shell klist purge 清票
mimikatz kerberos::golden /domain:hack.com /sid:S‐1‐5‐21‐2716900768‐72748719‐3475352185
/target:dc.hack.com /service:cifs /rc4:26a703eba507e848825615316bc880a1 /user:abcd /ptt

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享