
إثبات مفهوم لاستغلال رفع الصلاحيات المحلية (LPE) على Windows 11 يستغل كائن COM لجلسة Component Based Servicing (CBS) الخاص بـ TrustedInstaller ونقاط الوصل (junctions) لكتابة ملفات عشوائية.
تصعيد الصلاحيات المحلية عبر طريقة CBS COM غير المحمية - كتابة ملفات عشوائية من مستوى تكامل متوسط إلى SYSTEM على Windows 11
| التاريخ | الحدث |
|---|---|
| 22 يوليو 2026 | تم الإبلاغ عن الثغرة الأمنية إلى MSRC |
| 8 سبتمبر 2026 | قامت Microsoft بتصحيح حزمة خدمة Windows Update (ثلاثاء التصحيح لشهر سبتمبر) |
| 29 أكتوبر 2026 | استجابت MSRC (انظر أدناه) |
يعمل كائن COM لجلسة الخدمة القائمة على المكونات (CBS) داخل TrustedInstaller.exe بصلاحيات SYSTEM ويمكن تنشيطه بواسطة أي مستخدم تفاعلي. تستدعي كل طريقة تقريبًا على واجهة الجلسة EnsureCallerIsAdministrator قبل المتابعة، باستثناء CreateExternalTransformerExecutor، الذي أعاد منفّذ محوّل مخزن CSI منخفض المستوى دون أي فحص للتفويض.
يعمل Initialize() الخاص بذلك المنفّذ بصلاحيات SYSTEM دون أي انتحال هوية. يمكن للمستدعي ذي التكامل المتوسط أن يدفع TrustedInstaller إلى إنشاء ملف سجل خلية تسجيل (registry hive) في مسار يتحكم فيه المهاجم من خلال استغلال وصلات NTFS والروابط الرمزية لمدير الكائنات، ولا يتطلب أي منها أي صلاحيات خاصة لإنشائها.
CreateExternalTransformerExecutor غير المحميةالنتيجة: كتابة ملفات عشوائية إلى أي دليل موجود بصلاحيات SYSTEM، من حساب مستخدم عادي. لا حقوق مسؤول، ولا صلاحيات خاصة، ولا حاجة لتفاعل المستخدم.
قيّمت MSRC تقريري على أنه خطورة منخفضة / دفاع في العمق، مشيرة إلى أن "نماذج الإثبات المفهومي التي تم تقييمها لم تُظهر كتابة ملفات إلى مواقع غير مصرح بها." أُغلق الملف باعتباره دون الحد الأدنى للصيانة الفورية، ولم تُصدر CVE إضافية، ولم تُمنح مكافأة، ولن تتابع MSRC المشكلة أكثر من ذلك، وهو أمر منطقي إذا كانت هذه تكرارًا.
يكتب PoC محتوى يتحكم فيه المهاجم إلى C:\Windows\System32 من عملية ذات تكامل متوسط وغير مسؤولة، وقد فعل ذلك بشكل موثوق على كل إصدار غير مصحح تم اختباره عليه.
التفسير الأكثر ترجيحًا لتقييم MSRC هو التوقيت، حيث قُدّم التقرير في يوليو، وصدر إصلاح حزمة الخدمة في سبتمبر، ووصلت استجابة MSRC في أكتوبر، وعندها كان PoC سيفشل بالفعل بـ E_ACCESSDENIED على أي نظام محدّث.
لقد أُضفت إلى صفحة الإشارات الخاصة في MSRC فهذا شيء على الأقل :)
أشك في أن الثغرة الأمنية المُبلَّغ عنها هنا مشمولة بـ CVE-2026-81963 ("Windows Update Stack Elevation of Privilege Vulnerability")، والتي تم إصلاحها في التحديث المذكور وتصف نفس فئة الثغرة (CWE-59 / CWE-284، تتبّع الروابط + التحكم غير السليم في الوصول في حزمة خدمة CBS). وقد نُسبت تلك الثغرة إلى Romain Deperne (Airbus Helicopters) وMicrosoft Threat Intelligence Center (MSTIC)، وأُكِّد استغلالها فعليًا في البرية قبل التصحيح. لكن: ليس لديّ تأكيد رسمي بأن تقريري يغطي المسألة نفسها.
يجب تشغيل كلا الـ PoCs بصفة مستخدم عادي غير مسؤول (مستوى تكامل متوسط) وكلاهما يحتوي على نفس الاستغلال الأساسي. إذا شغّلتهما بصلاحيات مرتفعة، سينجح الاستغلال بسهولة لأنك تملك صلاحيات المسؤول بالفعل، وهذا يُفقد الغرض كله.
PoC_Fun/إثبات المفهوم الكامل مع واجهة مستخدم. أداة رسومية مبرمجة بـ vibecoding تُغلِّف تقنية الاستغلال في واجهة تفاعلية. مناسبة للعروض التوضيحية ولكل من لا يحب الـ PoCs المقتصرة على الطرفية المملة (MAKE POCS FUN AGAIN!)
خط البكسل القوطي أحادي المسافة المستخدم في العناوين واللافتة أُنشئ بتكليف مني بواسطة nico_n_art.
البناء:
$ cd PoC_Fun
$ dotnet clean -c Release && dotnet publish -c Release
$ .\bin\Release\net8.0-windows\win-x64\publish\TrustedHive.exe
الاستخدام: ما عليك سوى النقر المزدوج على الإصدار وسيرشدك واجهة المستخدم أو استخدم "?" لفتح قائمة المساعدة.
PoC_Boring/ملف C المستقل للاستغلال. لا توجد واجهة مستخدم ولا تبعيات تتجاوز ole32.lib وadvapi32.lib. قم بالبناء باستخدام MSVC (cl /O2 ...)، ووجّهه إلى ملف إدخال ومسار إخراج، وسيقوم بالمهمة.
البناء:
$ cd PoC_Boring
$ cl /nologo /W3 /O2 TrustedHive_PoC.c ole32.lib advapi32.lib /link
$ .\TrustedHive_PoC.exe
الاستخدام:
$ .\TrustedHive_BoringPoC.exe <input_file> <output_path> [/keep]
<input_file> : file whose bytes are written to the target
<output_path> : destination (its parent directory must exist),
e.g. C:\Windows\System32\poc.dll
/keep : keep the Hidden+System attributes the Configuration Manager
stamps on the created hive-log file (default: clear them)
EvaluateApplicability) ضمن نفس ثغرة CVE
