
إثبات مفهوم لاستغلال ثغرات حزمة البلوتوث في نظام iOS CVE-2018-4327 وCVE-2018-4330، مما يتيح التحكم في سجل ARM PC على iPhone 6S عبر اتصال جهاز بلوتوث خبيث.
POC لـ CVE-2018-4327 (على الأقل هذا ما أعتقده، نظرًا لأن كلاً من CVE-2018-4327 وCVE-2018-4330 تمت الكتابة عنهما بواسطة @SparkZheng، لكن لا يُذكر أي منهما يتعلق بأي ثغرة، وبما أنه وصف هذا أولاً، فسأخمّن).
تم اختباره على iPhone 6S 11.3.1
من المفترض أن يعمل حتى 11.4
يتيح لك تعيين قيمة PC (نسخة ARM من سجل IP) إلى القيمة التي تختارها على SpringBoard وبعض الخدمات.
تحتاج إلى تشغيل الكود ثم الانتقال إلى قائمة BT في الإعدادات والاتصال بجهاز. إذا لم يعمل، قم بإيقاف تشغيل BT وتشغيلها مرة أخرى.
الاستغلال مزعج جدًا، لكنني أحببته، لذا أردت إنشاء POC والتعلم أثناء ذلك.
استخدمت كود bluetoothdPoC الخاص بـ @raniXCH للتعامل مع جميع تجهيزات رسالة Mach وإرسالها إلى خدمة BT، وكيّفته ليناسب هذا الـ POC.
استخدمت jtool للعثور على ordinal وأشياء أخرى.
اضطررت للقيام ببعض الهندسة العكسية (RE) للعثور على أحجام الرسائل الصحيحة.
شكر وتقدير:
@SparkZheng - لمحاضرته الرائعة في DEFCON 26.
@raniXCH - للعرض الممتاز في HITB و bluetoothdPoC.
Jonathan Levin - للكتاب الرائع و jtool.
المراجع:
http://www.newosxbook.com/tools/jtool.html - jtool الذي استخدمته للعثور على ordinal وأشياء أخرى.
https://www.weibo.com/ttarticle/p/show?id=2309404271293301154324 - مادة @SparkZheng.
https://github.com/rani-i/bluetoothdPoC - كود POC الخاص بـ @raniXCH.
https://gsec.hitb.org/materials/sg2018/D2%20-%20The%20Road%20to%20iOS%20Sandbox%20Escape%20-%20Rani%20Idan.pdf - مادة @raniXCH الجزء 1.
https://blog.zimperium.com/cve-2018-4087-poc-escaping-sandbox-misleading-bluetoothd/ - مادة @raniXCH الجزء 2