hacktricks/mobile-pentesting/ios-pentesting-checklist.md

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
{% endhint %}

Vorbereitung

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

Protokolle

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

Kaputte Kryptografie

Lokale Authentifizierung

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

Sonstiges

{% 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
{% endhint %}


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" %}