
Tentativo di rubare kernelcredentials da launchd + puntatore task_t (Basato su: CVE-2017-7047)
Tentativo di rubare le credenziali del kernel da launchd + puntatore task_t (Basato su: CVE-2017-7047)
Triple Fetch è un exploit per dispositivi iOS precedenti a iOS 10.3.3. Sfrutta un errore logico in libxpc che consente agli attaccanti di inviare messaggi maliziosi con oggetti xpc_data supportati da memoria condivisa.
L'exploit originale prende di mira un demone di basso livello su iOS che usa NSXPC. CoreAuthenticationd. L'exploit applica una patch ad AMFID per consentire l'esecuzione arbitraria di codice e ottiene anche un send_right per launchd, permettendoci di eseguire task_for_pid 1. Questo ci dà pieni permessi sul demone più basso del sistema, launchd.
Poiché l'exploit include già un esempio chiamato hello_world per usare il task di launchd per eseguire il dump della memoria di launchd con le regioni di memoria (lettura/scrittura/esecuzione). Non sarà difficile fare quanto segue:
Poiché l'exploit viene eseguito direttamente dallo spazio utente e ottiene i permessi di root senza patchare il kernel, questo exploit può essere perfettamente usato per scopi di jailbreak. Tuttavia, poiché il bug è una race condition che sembra verificarsi raramente in modo corretto, gli utenti dovranno riavviare e riprovare molte volte prima di essere nuovamente jailbroken.
Puoi sempre creare una pull request se vuoi contribuire con codice al repository. Aggiungeremo un file con molti offset necessari per future patch del kernel. Lavoreremo su codice che aiuta a rubare le credenziali del kernel di launchd.
Utilizzando le API VoIP di Apple, cercheremo di far eseguire automaticamente l'exploit in background dopo ogni riavvio. Un bel bundle di impostazioni verrà aggiunto all'app così potrai impostare un bootNonce dall'app Impostazioni per futuri scopi di downgrade. Verrà aggiunto un interruttore per disabilitare e abilitare gli aggiornamenti OTA. Verrà aggiunto codice per salvare automaticamente i blob SHSH2 usando cron job. Farò del mio meglio per integrare Tor nel jailbreak, attivabile dalle Impostazioni, perché tutti hanno bisogno della propria privacy. Un content blocker viene aggiunto solo per divertimento per eliminare i fastidiosi annunci in Safari.