
استغلال تجريبي قائم على webkit للنواة (Arb. R/W) لجهاز PS5 على الإصدارات <= 4.51FW
يحتوي هذا المستودع على تنفيذ تجريبي لتقنية WebKit ROP لاستغلال نواة PS5 استنادًا إلى ثغرة الاستخدام بعد التحرير (Use-After-Free - UAF) الخاصة بـ TheFlow في IPV6، والتي تم الإبلاغ عنها على HackerOne. تعتمد استراتيجية الاستغلال في معظمها على PoC الخاص بـ TheFlow لأنظمة BSD/PS4 مع بعض التعديلات لاستيعاب تخطيط الذاكرة المزعج في PS5 (لمزيد من التفاصيل انظر قسم Research Notes). ينشئ هذا الاستغلال بدائية قراءة عشوائية / كتابة (شبه عشوائية). هذا الاستغلال وقدراته له العديد من القيود، ولهذا فهو مخصص في الغالب للمطورين للتجربة به بغرض الهندسة العكسية لبعض أجزاء النظام.
مع أحدث تحسينات الاستقرار، تبلغ الموثوقية حوالي 80%. ستتوفر في هذا المستند معلومات بحثية حول PS5، وسيخضع هذا الاستغلال لتطوير وتحسينات مستمرة بمرور الوقت.
يمكن للمهتمين بالمساهمة في أبحاث/تطوير PS5 الانضمام إلى خادم الديسكورد الذي أنشأته هنا.
يجب أن يدعم الاستغلال الآن أنظمة البرامج الثابتة التالية:
dns.conf لتوجيه manuals.playstation.net إلى عنوان IP الخاص بجهاز الكمبيوترpython fakedns.py -c dns.confpython host.py0.0.0.0
لاستخدام محمّل ELF، قم بتشغيل الاستغلال حتى الاكتمال. عند الاكتمال سيشغّل خادمًا على المنفذ :9020. اتصل وأرسل ملف ELF الخاص بك إلى PS5 عبر ذلك المنفذ وسيتم تشغيله. بافتراض أن ملف ELF لا يسبب انهيار المتصفح، يمكنه الاستمرار في تشغيل ملفات ELF إلى الأبد.
يعمل هذا الاستغلال على 5 مراحل، ويتبع في معظمه نفس استراتيجية الاستغلال الخاصة بـ theflow's poc.
ip6_pktopts والحصول على مقبسين (socket) يشيران إلى نفس pktopts / تداخل (المقبس الرئيسي <-> مقبس رش التداخل)pktopts على المقبس الرئيسي وتزييفه برش ip6_rthdr يحتوي على تداخل tclass مُعلّم.pktopts/rthdr لتسريب kqueue من شريحة 0x200 وpktopts من شريحة 0x100.pktopts مرة أخرى وابحث عن مقبس التداخل لاستخدام IPV6_RTHDR كبدائية قراءة/كتابة.استقرار هذا الاستغلال يبلغ حوالي 30% 80-90%، وله نقطتا فشل محتملتان. بترتيب الاحتمالية الملاحظة تنازليًا:
يبدو بناءً على اختبارات وتفريغات متعددة باستخدام بدائية القراءة، أن PS5 عاد إلى حجم صفحة 0x1000 مقارنةً بـ 0x4000 في PS4.
يبدو أيضًا على PS5 أن الصفحات المتجاورة نادرًا ما تنتمي إلى نفس الشريحة، حيث ستحصل على بيانات مختلفة تمامًا في الصفحات المتجاورة. يبدو تخطيط الذاكرة أكثر تشتتًا.
غالبًا عندما ينهار PS5 (على الأقل في سياق webkit)، سيكون هناك مخرجات صوتية سيئة للغاية حيث يتلف مخزن الصوت المؤقت (audio buffer) بطريقة ما.
في بعض الأحيان يستمر هذا التلف الصوتي حتى الإقلاع التالي، غير متأكد من السبب.
على غرار PS4، سيتطلب PS5 الضغط يدويًا على زر الطاقة في الجهاز مرتين لإعادة التشغيل بعد الانهيار.
من الطبيعي أن يستغرق PS5 وقتًا طويلاً بشكل سخيف لإعادة التشغيل بعد الانهيار إذا كان معزولًا عن الإنترنت (للأسف). توقع أن يستغرق الإقلاع من 3 إلى 4 دقائق.