
Exploit de preuve de concept pour les vulnérabilités de la pile Bluetooth iOS CVE-2018-4327 et CVE-2018-4330, permettant le contrôle du registre PC ARM sur un iPhone 6S via une connexion d'appareil Bluetooth malveillant.
POC pour CVE-2018-4327 (du moins je pense, puisque CVE-2018-4327 et CVE-2018-4330 ont toutes deux été mentionnées par @SparkZheng mais il ne précise pas laquelle correspond à quel bug, mais comme il a décrit celle-ci en premier, je suppose).
Testé sur iPhone 6S 11.3.1
Devrait fonctionner jusqu'à 11.4
Vous permet de définir le PC (la version ARM du registre IP) sur une valeur de votre choix sur SpringBoard et quelques services.
Vous devez exécuter le code, puis aller dans le menu Bluetooth dans les réglages et vous connecter à un appareil. Si cela ne fonctionne pas, désactivez puis réactivez le Bluetooth.
Assez ennuyeux à exploiter mais j'ai aimé, donc j'ai voulu en faire un POC et apprendre en chemin.
J'ai utilisé le code de @raniXCH bluetoothdPoC pour gérer toute la préparation du message Mach et son envoi au service Bluetooth, et je l'ai adapté pour ce POC.
J'ai utilisé jtool pour trouver l'ordinal et d'autres choses.
J'ai dû faire un peu de rétro-ingénierie pour trouver les bonnes tailles de message.
crédits:
@SparkZheng - pour son excellent exposé au DEFCON 26.
@raniXCH - pour l'excellente présentation HITB et le bluetoothdPoC.
Jonathan Levin - pour le super livre et jtool.
références:
http://www.newosxbook.com/tools/jtool.html - jtool que j'ai utilisé pour trouver l'ordinal et d'autres choses.
https://www.weibo.com/ttarticle/p/show?id=2309404271293301154324 - matériel de @SparkZheng.
https://github.com/rani-i/bluetoothdPoC - code POC de @raniXCH.
https://gsec.hitb.org/materials/sg2018/D2%20-%20The%20Road%20to%20iOS%20Sandbox%20Escape%20-%20Rani%20Idan.pdf - matériel de @raniXCH partie 1.
https://blog.zimperium.com/cve-2018-4087-poc-escaping-sandbox-misleading-bluetoothd/ - matériel de @raniXCH partie 2