Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Byepervisor — استغلال لثغرة الهايبرفايزر في PS5 لأنظمة البرامج الثابتة 1.xx-2xx. | Kitploit
أدوات/GitHubGitHub/ps5dev/byepervisor
أمان الأنظمة المدمجةتصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةالمحاكاة الافتراضية للأماناستغلال الملفات الثنائية
GitHubps5dev/byepervisor

Byepervisor

استغلال لثغرة الهايبرفايزر في PS5 لأنظمة البرامج الثابتة 1.xx-2xx.

عرض المستودع
35523منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Byepervisor


الملخص

استغلال هايبرفايزر PS5 لإصدارات البرامج الثابتة <= 2.xx. يحتوي المستودع على ثغرتين وسلسلتي استغلال، وهما مستقلتان عن بعضهما ويمكن استخدام أي منهما. يتم توفير أحد الاستغلالين بشكل أساسي لأغراض الحفظ فقط (/_old_jump_table_exploit)، ولا يلزم استخدام سوى سلسلة الاستغلال الأساسية (استغلال أعلام QA).

تم تقديم هذا البحث في hardwear.io NL 2024، ويمكن العثور على شرائح العرض هنا. سيتم نشر المحاضرة قريبًا.

استغلال جدول القفز

يستخدم الاستغلال الأول ثغرة تتمثل في مشاركة جداول القفز الخاصة بكود الهايبرفايزر مع نواة الضيف، وهو موجود في /_old_jump_table_exploit/. من خلال اختطاف مدخل جدول القفز الخاص بنداء VMMCALL_HV_SET_CPUID_PS4، يمكن تحقيق تنفيذ تعليمات برمجية داخل الهايبرفايزر. نشغّل سلسلة ROP تعمل على تعطيل الترحيل المتداخل (NPT) وفخ تنفيذ وضع الضيف (GMET)، مما يتيح لنا تعطيل الذاكرة القابلة للتنفيذ فقط (XOM) والمعروفة باسم xotext في مدخلات جداول الصفحات (PTEs) الخاصة بالنواة لتفريغها، وكذلك تمكين الكتابة في PTEs لربط/تصحيح النواة.

تتطلب هذه الطريقة عددًا لا بأس به من الـ gadgets والإنزياحات، وهو السبب الرئيسي لعدم كون هذا الاستغلال هو الاستغلال الأساسي. كما أنه يكسر الهايبرفايزر حاليًا على النواة التي تعمل عليها سلسلة ROP فقط، إذ يظل الهايبرفايزر نشطًا على الأنوية الأخرى ويحتاج إلى تعطيل.

استغلال أعلام QA

يستفيد الاستغلال الأساسي والموصى به من حقيقة أن أعلام ضمان الجودة (QA) الخاصة بالنظام مشتركة بين الهايبرفايزر ونواة الضيف. عند تهيئة الهايبرفايزر، يتحقق كود التهيئة الخاص ببناء جداول الصفحات المتداخلة من أعلام QA بحثًا عن علم تصحيح أخطاء مستوى النظام (SL). إذا تم تعيين هذا العلم، فلن تحتوي مدخلات جداول الصفحات المتداخلة (PTEs) على البت xotext لصفحات .text الخاصة بالنواة، كما ستكون بت الكتابة مضبوطة أيضًا على صفحات .text الخاصة بالنواة.

لا يعيد المُحمِّل الآمن تهيئة هذه الأعلام عند الاستئناف من وضع السكون، بينما يعيد تهيئة الهايبرفايزر. من خلال تعيين علم SL، ووضع النظام في وضع السكون، ثم استئنافه، يمكننا تعديل جداول الصفحات الخاصة بنواة الضيف لجعل صفحات .text الخاصة بالنواة قابلة للقراءة/الكتابة، مما يتيح تفريغ النواة وتنفيذ الربط/التصحيحات.

ملاحظات هامة

  • حاليًا، يتم دعم إصدار البرنامج الثابت 2.50 فقط لممكّن التطبيقات المنزلية (HEN)، وستتم إضافة دعم إصدارات أخرى لاحقًا.
  • ستحتاج حمولة الاستغلال (byepervisor.elf) إلى الإرسال مرتين: مرة قبل إدخال النظام في وضع السكون، ومرة أخرى بعد الاستئناف.
  • سيتعين عليك وضع النظام في وضع الراحة يدويًا بنفسك.
  • لن يحتوي تفريغ النواة من استغلال أعلام QA على منطقة .data الخاصة بالهايبرفايزر في الوقت الحالي؛ إذا كان هذا مهمًا لك، فاستخدم استغلال جدول القفز بعد النقل (porting) أو عطّل الترحيل المتداخل أولاً (هذا ضمن المهام المستقبلية TODO).

المتضمن حاليًا

  • كود تفريغ النواة (مُعلَّق، تشغيل هذا الكود سيؤدي إلى انهيار النظام لأنه سيحاول تفريغ أكبر قدر ممكن قبل الوصول إلى ذاكرة غير معيّنة)
  • كود لفك تشفير ملفات SELF الخاصة بمكتبات النظام عبر TCP
  • ممكّن التطبيقات المنزلية (HEN) للبرنامج الثابت 2.50 (fself+fpkg)

ملاحظات البناء

يتم بناء حمولة الاستغلال هذه باستخدام PS5-Payload-Dev SDK. لاحظ أيضًا أن بناء hen/ خاص بعض الشيء، إذ يتم تجميعه إلى ملف ثنائي مسطّح (flat binary) يُنسخ إلى كهف كود داخل النواة. يعمل كامل الكود الموجود في hen/ في وضع المشرف/النواة (supervisor/kernel mode).

طريقة الاستخدام

  1. شغّل سلسلة استغلال UMTX في webkit أو BD-J وشغّل محمّل ELF.
  2. أرسل byepervisor.elf.
  3. ضع النظام في وضع الراحة.
  4. أعد تشغيل النظام.
  5. أرسل byepervisor.elf مرة أخرى (إذا كنت تستخدم محمّل ELF الخاص بـ John Tornblom، فيجب أن يستمر في قبول الحمولات بعد الاستئناف؛ وإلا فستحتاج إلى إعادة تشغيل استغلال UMTX).

الأعمال المستقبلية

  • دعم المزيد من إصدارات البرامج الثابتة (الإنزياحات)
  • جعل byepervisor.elf يُرسل مرة واحدة فقط
  • تعليق النظام تلقائيًا؟
  • تصحيح vmcbs باستخدام استغلال أعلام QA لتفريغ بيانات الهايبرفايزر

الاعتمادات / الإشادات

  • ChendoChap
  • flatz
  • fail0verflow
  • Znullptr
  • kiwidog
  • sleirsgoevy

ديسكورد

يمكن للمهتمين بالمساهمة في أبحاث/تطوير PS5 الانضمام إلى خادم ديسكورد الذي أنشأته هنا.

تنزيل الأداة