L’équipe evad3rs  a publié evasi0n près d’une semaine en arrière. Maintenant que nous avons tous nos appareils iOS jailbreaké et installé, nous allons jeter un oeil  à l’intérieur de jailbreak evasi0n.

Comme Apple a renforce la sécurité dans iOS6, les pirates ne peuvent plus simplement trouver un exploit unique comme les jours précédents et l’utiliser pour obtenir un accès root sur un périphérique. evasi0n est une combinaison de cinq différents bugs, la plupart d’entre eux inoffensifs individuellement, mais ensemble assez capable de craquer iOS ouverte.

evasion-jailbreak

evasi0n commence par l’exploitation dans iTunes iOS ‘back-up système, appelé « MobileBackup » démon. Elle le fait en exécutant « libmobiledevice», un programme sur votre PC / Mac, qui communique avec les appareils iOS en utilisant le protocole iTunes.

Evasi0n restaure une sauvegarde qui contient quelques fichiers nécessaires pour le jailbreak. Depuis MobileBackup ne peut pas stocker des fichiers en dehors de /var/Mobile/Media , evasi0n fonctionne contourner ce problème en créant un « symlink » ou un raccourci dans /var/Mobile/Media nom. HAXX qui pointe vers /var/Media . MobileBackup maintenant en mesure d’écrire des fichiers /var/mobile à travers l’ .haxx lien symbolique. Les fichiers copiés forment collectivement l’application qui vous dit de lancer au milieu du processus de jailbreak.

En utilisant l’astuce lien symbolique, evasi0n accède également à un fichier de fuseau horaire, qui est de nouveau un lien symbolique pour pointer vers launchd, un démon qui exécute des processus avec privilèges « root ». L’accès à launchd est maintenant exploité et le fichier de fuseau horaire est rendu accessible à tous les utilisateurs (et pas seulement root) en changeant les permissions. Un truc similaire est utilisée pour faire une prise de courant, qui gère les communications entre les processus launchd et d’autres, accessibles aux utilisateurs mobiles, en vertu de laquelle toutes les applications sur iOS sont exécutés.

Maintenant, l’utilisateur est informé de lancer l’application qui a été copié sur le système de fichiers iOS dans une étape antérieure. Cette application, en utilisant la prise exposés launchd, rend l’écriture en lecture seule la partition système.

Maintenant que la partition système est devenu accessible en écriture, evasi0n déclenche à nouveau jusqu’à MobileBackup, et écrit un tas de fichiers, dont l’un est launchd.conf qui contient une série de commande constituant l’exploit. Ce fichier fonctionne à chaque fois que vous redémarrez Votre iphone, ce qui rend le jailbreak persistante.

Une des commandes dans launchd.conf est responsable de se soustraire code de vérification de la signature AppleMobileFileIntegrity par le chargement d’une bibliothèque dynamique, qui remplace le construit en fonction de contrôle par un autre qui retourne toujours une Valeur ( true ).

evasi0n a aussi un autre obstacle devant elle – Randomisation Address Space Layout, ou ASLR, qui introduit le hasard dans les adresses de mémoire flash, ce qui rend difficile à prévoir. Cependant, il ya encore un endroit sur les puces ARM qui est facile à trouver, et en utilisant ce jailbreak vous pouvez mapper la mémoire entière. De là, l’exploitation evasi0n d’un bug dans l’interface iOS USB, obtient finalement dans le noyau de l’appareil, qui est l’endroit où tout s’ouvre.

via : www.forbes.com