Munscheidstr. 14 in 45886 Gelsenkirchen

Jetzt anrufen 0209 - 8830 6760

iOS-Pentesting – Sicherheitstests auf Apple Smartphones

M.Sc. Moritz Gruber

Das Smartphone ist aus unseren Köpfen und aus unserem Alltag kaum noch wegzudenken. Über dieses gehen E-Mails ein und aus, Nachrichten von Freunden und Familie werden beantwortet, die Gesundheit wird getrackt und Smart-Home Geräte bedient. Mit 50,6 % Anteil am globalen Traffic im Word Wide Web ist das Smartphone Spitzenreiter.

Dies ist Grund genug, die Sicherheit von Smartphones und mobilen Anwendungen für als kritisch zu betrachten. Ein gezieltes iOS-Pentesting auf mobile Applikationen ist hier das richtige Mittel zur Wahl.

Das von den Pentestern der Aware7 entwickelte Whitepaper beschreibt auf 20 Seiten alles, was es für einen schnellen Einstieg ins iOS-Hacking braucht. Es werden praktische Leitfäden und Mobile Hacking Tools vorgestellt. Dieser Guide kann für einen anstehenden Pentest oder für die persönliche Weiterbildung einen perfekten Einstieg liefern. Es werden die wichtigsten Aspekte erläutert, Techniken erklärt, Befehle aufgelistet und eine Tool-Liste mitgegeben.

An dieser Stelle wollen wir einige Techniken mitgeben, die im Pentesting-Whitepaper erhalten sind, dort jedoch ausführlicher und auch technischer beschrieben sind.

iOS-Pentesting

Damit Apps auf Sicherheitslücken und Schwachstellen analysiert werden können, müssen mehrere Schritte im Vorfeld unternommen werden. Zuerst muss das iOS-Gerät eingerichtet werden, Tools installiert und bestimmte Einstellungen vorgenommen werden. Eine Auswahl dieser Vorbereitung bilden die folgenden Punkte.

Jailbreaking eines iOS-Geräts

Die Grundlage für einen iOS-App Pentest bildet ein Jailbreak. Dieser ermöglicht einen offenen Zugang zum Betriebssystem, ohne den Hacking von Anwendung nur eingeschränkt möglich wäre. Mithilfe des Jailbreaks können die benötigten Hacking-Tools auf dem Gerät über einen alternativen App-Store installiert werden. Außerdem wird es möglich eine App zur Laufzeit zu analysieren und damit Erkenntnisse über verwendete Bibliotheken, den Programmfluss und die Netzwerkkommunikation zu erlangen. Die bekanntesten Jailbreaks für iOS 14 und iOS 15 sind checkra1n, palera1n und Fugu14/15. Im Whitepaper wird die Durchführung eines Jailbreaks detailliert, Schritt für Schritt behandelt.

Cydia der App-Store für iOS-Penetests

Nach der Durchführung des Jailbreaks stehen andere App-Stores zur Verfügung. Je nach durchgeführten Jailbreak sind das Sileo oder Cydia. Über diese ist es möglich, sogenannte Tweaks herunterzuladen und zu installieren, die im normalen Apple App Store nicht zur Verfügung stehen. Am Anfang stehen in diesen alternativen App-Stores nicht alle Tools zur Verfügung, sondern es müssen zuerst sogenannte Repositorys hinzugefügt werden. Ein Repository ist eine Sammlung von Programmen eines Entwicklers. Im Whitepaper sind Tools und die dazugehörigen Repository-Links aufgelistet. Drei unerlässliche Tools sind Frida, A-Bypass und SSL Killswitch 2, deren Anwendung in den folgenden Punkten erläutert wird.

Netzwerkkommunikation mitlesen

Ein wesentlicher Angriffspunkt für Angreifer ist die Kommunikation zwischen Smartphone und Server. Unzureichend abgesicherter Datenverkehr fällt einem Angreifer in die Hände und führt in den meisten Fällen zu einem großen Schaden – für den Benutzer, jedoch auch für den Server selbst. Es ist daher eine Notwendigkeit, diesen Kanal ausführlich zu analysieren und zu testen. Am besten eignet sich dafür das Einrichten eines Proxyservers. Mit diesem können, mithilfe von Tools wie Wireshark und Burp Suite, Netzwerkverkehr aufgenommen und auch manipuliert werden.

Dieser zu analysierende Datenverkehr wird mit TLS abgesichert sein, weshalb es nicht möglich ist, den Netzwerkverkehr während des iOS-Pentesting mitzulesen. An dieser Stelle kommt das Tool SSL Killswitch 2 zum Einsatz. Dieses ändert systemweit die Funktion zur Validierung von TLS-Zertifikaten und sorgt dafür, dass auch unsichere Zertifkate (wie das von unserem Proxyserver) akzeptiert werden.

Jaibreak-Detection Bypass

Entwickler schlafen nicht: Um die Analyse einer Anwendung zu unterbinden, wird eine sogenannte Jailbreak-Detection-Funktionalität implementiert. Diese versucht herauszufinden, ob die App zurzeit auf einem Gerät läuft, auf dem ein Jailbreak installiert ist. Falls dies der Fall ist, sind bestimmte Funktionen nicht mehr verfügbar oder die App startet generell nicht mehr. Dies erschwert die Analyse von Applikationen zur Laufzeit und würde nur noch eine statische Analyse ermöglichen. Pentesting und Hacking würden kaum Sicherheitslücken finden können.

Hacker schlafen auch nicht: Hacking lebt davon, Umwege zu finden, und auch in diesem Fall stehen uns wieder Tools zur Verfügung, mit denen diese Maßnahme umgangen werden kann. Das prominenteste und erfolgreichste Tools hierfür ist A-Bypass. Dieses Tool kennt eine Vielzahl an Jailbreak-Detection Mechanismen und setzt genau hier an, um diesen Mechanismus zu umgehen. Der Bypass kann mit diesem Tool pro App separat aktiviert werden.

iOS-Pentesting und Reverse-Engineering

Möchte man eine Applikation auf Herz und Nieren prüfen und eine tiefgehende Sicherheitsanalyse vornehmen, wird es früher oder später notwendig den Quellcode einer App zu auditieren und das Laufzeitverhalten zu bestimmen. Frida ist hierfür ein mächtiges Werkzeug, mit denen fortgeschrittene Aufgaben wie Funktions-Tracing oder Binary Patching durchführbar sind. Frida arbeitet nach dem Client-Server-Modell. Der Server ist hierbei das mobile Endgerät und ein Client kann sich mit diesem Server verbinden, um Debugging und Reverse-Engineering-Aufgaben durchzurühren. Auf macOS oder Linux gibt es dafür das Paket frida-tools, welches mit dem Python Paketmanager pip installiert werden kann und ein Kommandozeilentool liefert. 

Möchten Sie mehr über das Thema iOS-Pentesting erfahren oder haben weitere Ideen für das Whitepaper, kommen Sie gerne auf uns zu.


Hat Ihnen der Beitrag gefallen? Gerne benachrichtigen wir Sie, wenn wir einen neuen Beitrag veröffentlicht haben. Tragen Sie jetzt Ihre E-Mail-Adresse ein. Für Sie entstehen keine Kosten.


Foto des Autors

M.Sc. Moritz Gruber

Web-Anwendungen sind mein Spezialgebiet. Meine Fähigkeiten konnte ich durch meine offensive Security Certified Professional (OSCP) Zertifizierung ausbauen. Dazu besitze ich die Weiterbildung als Informationssicherheitsbeauftragter nach ISO27001 (TÜV). Ich schreibe gerne über diese und andere Themen im Blog und im wissenschaftlichen Kontext. Mein Name ist Moritz Gruber und ich bin seit der Gründung der AWARE7 GmbH dabei.