
CVE-2018-4330 POC لنظام iOS
مرتبط بـ brokentooth (الرابط بالأسفل).
على عكس brokentooth، لا يتطلب toothfairy الضغط على أزرار في قائمة البلوتوث.
تم الكشف عن كلتا ثغرتي CVE بواسطة @SparkZheng لكن دون POC، لذا قررت إنشاء POC من أجل تجربة التعلّم.
الكود ليس مثاليًا لكنه يؤدي الغرض.
تم اختباره على iPhone 6S 11.3.1
من المفترض أن يعمل حتى 11.4
يتيح لك تعيين PC (نسخة ARM من سجل IP) إلى قيمة تختارها على bluetoothd وعدد قليل من الخدمات الأخرى.
استخدمت كود bluetoothdPoC الخاص بـ @raniXCH للتعامل مع كل التحضيرات الخاصة برسالة Mach وإرسالها إلى خدمة BT، وقمت بتكييفه ليتناسب مع هذا POC.
استخدمت jtool للعثور على ordinal وأشياء أخرى.
اضطررت للقيام ببعض الهندسة العكسية للعثور على الأحجام الصحيحة للرسائل.
إشادات:
@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.
https://github.com/omerporze/brokentooth - POC الخاص بي لـ CVE-2018-4327.