
POC for CVE-2018-4327
POC pour CVE-2018-4327 (du moins je le pense puisque CVE-2018-4327 et CVE-2018-4330 ont tous deux été discutés par @SparkZheng mais il n'est pas clair de sa part lequel correspond à quel bogue, mais comme il a décrit celui-ci en premier, je fais une supposition).
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) à une valeur de votre choix sur SpringBoard et quelques services. Vous devez exécuter le code, puis aller dans les paramètres Bluetooth et vous connecter à un appareil. Si cela ne fonctionne pas, désactivez et réactivez le Bluetooth.
Assez ennuyeux à exploiter mais je l'ai aimé alors j'ai voulu faire un POC et apprendre en chemin.
Utilisé le code bluetoothdPoC de @raniXCH pour gérer toute la préparation du message Mach et son envoi au service Bluetooth, et adapté pour s'intégrer à ce POC.
Utilisé jtool pour trouver l'ordinal et autres choses.
J'ai dû faire un peu de rétro-ingénierie pour trouver les bonnes tailles de messages.
crédits :
@SparkZheng - pour son génial 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 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.