iOS Pentesting Checklist

Reading time: 5 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks

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, prüfen Sie auf sensible Informationen, die von der Anwendung im Dateisystem gespeichert werden.

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 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, um ein Protokoll/Scheme zu verwenden.
  • Überprüfen Sie, ob die Anwendung erwartet, sensible 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 Benutzereingaben über das benutzerdefinierte Scheme nicht überprüft und bereinigt, 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 Datei apple-app-site-association.
  • Überprüfen Sie, ob die Anwendung Benutzereingaben über das benutzerdefinierte Scheme nicht überprüft und bereinigt, 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

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstützen Sie HackTricks