
استغلال إثبات المفهوم لـ CVE-2025-7771، ثغرة برنامج تشغيل نواة Windows في ThrottleStop.sys تتيح قراءة/كتابة ذاكرة فعلية عشوائية ورفع امتيازات محلي إلى SYSTEM.
إثبات المفهوم لـ CVE-2025-7771. يعرّض ThrottleStop.sys معالجَي IOCTL يسمحان بقراءة/كتابة عشوائية في الذاكرة الفعلية دون أي تحكم بالوصول — يمكن لأي عملية إدارية القراءة أو الكتابة في أي مكان في ذاكرة الوصول العشوائي الفعلية.
تم اختباره على Windows 10 22H2 و Windows 11 23H2 x64.
بدأت بتحميل ثنائي السائق في IDA Pro لمعرفة كيفية عمله داخليًا. عثرت على روتين التوزيع IRP_MJ_DEVICE_CONTROL وتتبّعته حتى وصلت إلى رمزي IOCTL:
0x80006498 — قراءة من عنوان فيزيائي0x8000649C — كتابة إلى عنوان فيزيائيكلا الرمزين يستدعيان مباشرة MmMapIoSpace مع أي عنوان تمرره. لا يوجد فحص للحدود، ولا تحقق من المتصل، ولا شيء. هذا هو الخطأ.
من هنا يكون مسار الاستغلال واضحًا ومباشرًا:
\\.\ThrottleStopNtQuerySystemInformation class 79) لبناء خريطة ترجمة العناوين من افتراضي إلى فيزيائيNtQuerySystemInformation class 11ntoskrnl.exe من القرص لحل RVA للتصدير PsInitialSystemProcess، وأضفه إلى العنوان الأساسي وقت التشغيل للحصول على عنوان النواة الظاهريEPROCESS+0x4b8ActiveProcessLinks للعثور على EPROCESS الخاص بناحقل التوكن هو _EX_FAST_REF لذا فإن البتات الأربع المنخفضة هي عدّاد مراجع (refcount)، وليست جزءًا من المؤشر. احجب تلك البتات عند قراءة توكن SYSTEM، واحتفظ ببتات عدّاد المراجع الخاصة بنا عند الكتابة، وإلا فأنت تخاطر بحدوث BSOD.
cl /std:c++20 /EHsc /O2 exploit_single.cpp /link ntdll.lib advapi32.lib
يتطلب MSVC (VS2022+) وتحميل السائق. قم بالتشغيل كمسؤول.
هذه الإزاحات خاصة بـ Windows 10 20H2 حتى 22H2 و Windows 11 22H2/23H2 x64. تحقق باستخدام dt nt!_EPROCESS في WinDbg إذا كنت على إصدار مختلف.
| الحقل | الإزاحة |
|---|---|
| UniqueProcessId | 0x440 |
| ActiveProcessLinks | 0x448 |
| Token | 0x4b8 |
لأغراض تعليمية وبحثية فقط. تم الاختبار على جهاز افتراضي شخصي.