
POC per CVE-2018-4330 su iOS
Correlato a brokentooth (link in basso).
A differenza di brokentooth, toothfairy non richiede di premere pulsanti nel menu bluetooth.
Entrambe le CVE sono state rivelate da @SparkZheng ma senza POC, quindi ho deciso di creare un POC per imparare.
Il codice non è perfetto ma fa il suo lavoro.
Testato su iPhone 6S 11.3.1
Dovrebbe funzionare fino a 11.4
Ti permette di impostare il PC (la versione ARM del registro IP) a un valore a tua scelta su bluetoothd e su alcuni altri servizi.
Ho usato il codice bluetoothdPoC di @raniXCH per gestire tutta la preparazione del messaggio Mach e l'invio al servizio BT e l'ho adattato per integrarlo in questo POC.
Ho usato jtool per trovare l'ordinale e altre cose.
Ho dovuto fare un po' di RE per trovare le dimensioni corrette dei messaggi.
crediti:
@SparkZheng - per la sua fantastica conferenza al DEFCON 26.
@raniXCH - per l'eccellente presentazione all'HITB e il bluetoothdPoC.
Jonathan Levin - per il grande libro e jtool.
riferimenti:
http://www.newosxbook.com/tools/jtool.html - jtool che ho usato per trovare l'ordinale e altre cose.
https://www.weibo.com/ttarticle/p/show?id=2309404271293301154324 - materiale di @SparkZheng.
https://github.com/rani-i/bluetoothdPoC - codice POC di @raniXCH.
https://gsec.hitb.org/materials/sg2018/D2%20-%20The%20Road%20to%20iOS%20Sandbox%20Escape%20-%20Rani%20Idan.pdf - materiale di @raniXCH parte 1.
https://blog.zimperium.com/cve-2018-4087-poc-escaping-sandbox-misleading-bluetoothd/ - materiale di @raniXCH parte 2.
https://github.com/omerporze/brokentooth - il mio POC per CVE-2018-4327.