So funktioniert evasi0n Jailbreak

Das Team von evad3rs hat evasi0n vor knapp einer Woche veröffentlicht. Jetzt, da wir alle unsere iOS-Geräte im Jailbreak haben und die besten Tweaks installiert haben, wollen wir uns ansehen, wie unglaublich einfach außen und innen unglaublich kompliziert evasi0n Jailbreak funktioniert.

Da Apple die Sicherheit in iOS stärkt, können Hacker nicht mehr einfach einen einzelnen Exploit wie früher finden und damit Root-Zugriff auf ein Gerät erlangen. evasi0n ist eine Kombination aus fünf verschiedenen Bugs, von denen die meisten für sich genommen harmlos sind, aber zusammen in der Lage sind, iOS zu knacken.

evasi0n nutzt zunächst das iTunes-Backup-System von iOS, den so genannten "MobileBackup" -Daemon. Dazu wird "libmobiledevice" ausgeführt, ein Programm auf Ihrem PC / Mac, das über das iTunes-Protokoll mit iOS-Geräten kommuniziert.

evasi0n stellt ein Backup wieder her, das einige Dateien enthält, die für den Jailbreak benötigt werden. Da MobileBackup keine Dateien außerhalb von /var/Mobile/Media speichern kann, erstellt evasi0n einen „Symlink“ oder eine Verknüpfung in /var/Mobile/Media Namen .haxx, die auf /var/Media verweist. MobileBackup kann jetzt Dateien über den .haxx Symlink nach /var/mobile .haxx . Die kopierten Dateien bilden zusammen die App, die Sie mitten im Jailbreak-Prozess starten sollen.

Mit dem Symlink-Trick erhält evasi0n auch Zugriff auf eine Zeitzonendatei, die wiederum auf launchd verweist, einen Daemon, der Prozesse mit Root-Rechten ausführt. Der Zugriff auf launchd wird jetzt ausgenutzt und die Zeitzonendatei wird allen Benutzern (nicht nur root) zugänglich gemacht, indem die Berechtigungen geändert werden. Ein ähnlicher Trick wird verwendet, um einen Socket, der die Kommunikation zwischen launchd und anderen Prozessen verwaltet, für mobile Benutzer zugänglich zu machen, unter denen alle Apps unter iOS ausgeführt werden.

Jetzt wird der Benutzer aufgefordert, die App zu starten, die in einem früheren Schritt in das iOS-Dateisystem kopiert wurde. Diese App verwendet den exponierten launchd-Socket und macht die schreibgeschützte Systempartition beschreibbar.

Nachdem die Systempartition nun beschreibbar ist, startet evasi0n MobileBackup erneut und schreibt eine Reihe von Dateien, von denen eine launchd.conf ist, die eine Reihe von Befehlen enthält, die den Exploit bilden. Diese Datei wird jedes Mal beim Booten ausgeführt, wodurch der Jailbreak persistent wird.

Einer der Befehle in launchd.conf ist dafür verantwortlich, die Überprüfung der AppleMobileFileIntegrity-Codesignatur zu umgehen, indem eine dynamische Bibliothek geladen wird, die die eingebaute Überprüfungsfunktion durch eine ersetzt, die immer true zurückgibt.

evasi0n hat noch eine weitere Straßensperre vor sich - die Adressraum-Layout-Randomisierung (ASLR), die die Zufälligkeit von Flash-Speicheradressen einführt und die Vorhersage erschwert. Es gibt jedoch immer noch einen Ort auf ARM-Chips, der leicht zu lokalisieren ist, und mit diesem kann evasi0n den gesamten Speicher abbilden. Von hier aus gelangt evasi0n, der einen Fehler in der USB-Schnittstelle von iOS ausnutzt, schließlich in den Kernel des Geräts, in dem sich alles öffnet.

Via: Forbes, Acuvant Labs



Beliebte Beiträge