10 KiB
iOS Pentesting Checklist
Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Zugang heute erhalten:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Vorbereitung
- Lesen Sie iOS Grundlagen
- Bereiten Sie Ihre Umgebung vor, indem Sie iOS Testumgebung lesen
- Lesen Sie alle Abschnitte von iOS Erste Analyse, um gängige Aktionen zum Pentesten einer iOS-Anwendung zu lernen
Datenspeicherung
- Plist-Dateien können verwendet werden, um sensible Informationen zu speichern.
- Core Data (SQLite-Datenbank) kann sensible Informationen speichern.
- YapDatabases (SQLite-Datenbank) kann sensible Informationen speichern.
- Firebase Fehlkonfiguration.
- Realm-Datenbanken können sensible Informationen speichern.
- Couchbase Lite-Datenbanken können sensible Informationen speichern.
- Binäre Cookies können sensible Informationen speichern.
- Cache-Daten können sensible Informationen speichern.
- Automatische Snapshots können visuelle sensible Informationen speichern.
- Keychain wird normalerweise verwendet, um sensible Informationen zu speichern, die beim Weiterverkauf des Telefons zurückgelassen werden können.
- Zusammenfassend sollten Sie einfach nach sensiblen Informationen suchen, die von der Anwendung im Dateisystem gespeichert wurden.
Tastaturen
- Erlaubt die Anwendung die Verwendung von benutzerdefinierten Tastaturen?
- Überprüfen Sie, ob sensible Informationen in den Tastatur-Cache-Dateien gespeichert sind.
Protokolle
- Überprüfen Sie, ob sensible Informationen protokolliert werden.
Backups
- Backups können verwendet werden, um auf die im Dateisystem gespeicherten sensiblen Informationen zuzugreifen (überprüfen Sie den ersten Punkt dieser Checkliste).
- Außerdem können Backups verwendet werden, um einige Konfigurationen der Anwendung zu ändern, dann das Backup auf dem Telefon wiederherzustellen, und da die geänderte Konfiguration geladen wird, kann einige (Sicherheits-) Funktionalität möglicherweise umgangen werden.
Anwendungs-Speicher
- Überprüfen Sie auf sensible Informationen im Speicher der Anwendung.
Kaputte Kryptografie
- Überprüfen Sie, ob Sie Passwörter, die für die Kryptografie verwendet werden, finden können.
- Überprüfen Sie die Verwendung von veralteten/schwachen Algorithmen, um sensible Daten zu senden/speichern.
- Hooken und Überwachen von Kryptografie-Funktionen.
Lokale Authentifizierung
- Wenn eine lokale Authentifizierung in der Anwendung verwendet wird, sollten Sie überprüfen, wie die Authentifizierung funktioniert.
- Wenn das Local Authentication Framework verwendet wird, könnte es leicht umgangen werden.
- Wenn eine Funktion verwendet wird, die dynamisch umgangen werden kann, könnten Sie ein benutzerdefiniertes Frida-Skript erstellen.
Sensible Funktionalitätsexposition durch IPC
- Benutzerdefinierte URI-Handler / Deeplinks / Benutzerdefinierte Schemes
- Überprüfen Sie, ob die Anwendung ein Protokoll/Scheme registriert.
- Überprüfen Sie, ob die Anwendung registriert ist, um ein Protokoll/Scheme zu verwenden.
- Überprüfen Sie, ob die Anwendung erwartet, eine Art von sensiblen Informationen vom benutzerdefinierten Scheme zu erhalten, die von einer anderen Anwendung, die dasselbe Scheme registriert, abgefangen werden können.
- Überprüfen Sie, ob die Anwendung keine Überprüfung und Bereinigung der Benutzereingaben über das benutzerdefinierte Scheme vornimmt und ob eine Schwachstelle ausgenutzt werden kann.
- Überprüfen Sie, ob die Anwendung eine sensible Aktion exponiert, die von überall über das benutzerdefinierte Scheme aufgerufen werden kann.
- Universelle Links
- Überprüfen Sie, ob die Anwendung ein universelles Protokoll/Scheme registriert.
- Überprüfen Sie die
apple-app-site-association
-Datei. - Überprüfen Sie, ob die Anwendung keine Überprüfung und Bereinigung der Benutzereingaben über das benutzerdefinierte Scheme vornimmt und ob eine Schwachstelle ausgenutzt werden kann.
- Überprüfen Sie, ob die Anwendung eine sensible Aktion exponiert, die von überall über das benutzerdefinierte Scheme aufgerufen werden kann.
- UIActivity Sharing
- Überprüfen Sie, ob die Anwendung UIActivities empfangen kann und ob es möglich ist, eine Schwachstelle mit einer speziell gestalteten Aktivität auszunutzen.
- UIPasteboard
- Überprüfen Sie, ob die Anwendung etwas in die allgemeine Zwischenablage kopiert.
- Überprüfen Sie, ob die Anwendung Daten aus der allgemeinen Zwischenablage für irgendetwas verwendet.
- Überwachen Sie die Zwischenablage, um zu sehen, ob sensible Daten kopiert werden.
- App-Erweiterungen
- Verwendet die Anwendung irgendeine Erweiterung?
- WebViews
- Überprüfen Sie, welche Art von WebViews verwendet werden.
- Überprüfen Sie den Status von
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
. - Überprüfen Sie, ob die WebView auf lokale Dateien mit dem Protokoll file:// zugreifen kann (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
). - Überprüfen Sie, ob JavaScript auf Native Methoden (
JSContext
,postMessage
) zugreifen kann.
Netzwerkkommunikation
- Führen Sie einen MitM zur Kommunikation durch und suchen Sie nach Web-Schwachstellen.
- Überprüfen Sie, ob der Hostname des Zertifikats überprüft wird.
- Überprüfen/Umgehen Sie Zertifikat-Pinning.
Sonstiges
- Überprüfen Sie auf automatische Patching-/Aktualisierungs Mechanismen.
- Überprüfen Sie auf bösartige Drittanbieter-Bibliotheken.
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Zugang heute erhalten:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}