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

11 KiB

iOS Pentesting Checklist


Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Heute noch Zugriff erhalten:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}


Vorbereitung

Datenspeicherung

  • Plist-Dateien können zur Speicherung sensibler Informationen verwendet werden.
  • Core Data (SQLite-Datenbank) kann sensible Informationen speichern.
  • YapDatenbanken (SQLite-Datenbank) können sensible Informationen speichern.
  • Firebase Misskonfiguration.
  • 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 Schnappschüsse können visuell sensible Informationen speichern.
  • Schlüsselbund wird normalerweise verwendet, um sensible Informationen zu speichern, die beim Weiterverkauf des Telefons zurückbleiben können.
  • Zusammenfassend einfach überprüfen, ob sensible Informationen 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 Anfangspunkt dieser Checkliste)
  • Außerdem können Backups verwendet werden, um einige Konfigurationen der Anwendung zu ändern, dann das Backup auf dem Telefon wiederherzustellen und wenn die modifizierte Konfiguration geladen wird, kann eine (Sicherheits-) Funktionalität umgangen werden

Anwendungs-Speicher

Gebrochene Kryptographie

Lokale Authentifizierung

Exposition sensibler Funktionalitäten durch IPC

  • Benutzerdefinierte URI-Handler / Deeplinks / Benutzerdefinierte Schemata
  • Überprüfen Sie, ob die Anwendung ein Protokoll/Schema registriert
  • Überprüfen Sie, ob die Anwendung registriert ist, um ein Protokoll/Schema zu verwenden
  • Überprüfen Sie, ob die Anwendung erwartet, sensible Informationen über das benutzerdefinierte Schema zu empfangen, die von einer anderen Anwendung, die dasselbe Schema registriert, abgefangen werden können
  • Überprüfen Sie, ob die Anwendung die Benutzereingaben über das benutzerdefinierte Schema nicht überprüft und bereinigt und eine Verwundbarkeit ausgenutzt werden kann
  • Überprüfen Sie, ob die Anwendung eine sensible Aktion freigibt, die von überall über das benutzerdefinierte Schema aufgerufen werden kann
  • Universelle Links
  • Überprüfen Sie, ob die Anwendung ein universelles Protokoll/Schema registriert
  • Überprüfen Sie die apple-app-site-association-Datei
  • Überprüfen Sie, ob die Anwendung die Benutzereingaben über das benutzerdefinierte Schema nicht überprüft und bereinigt und eine Verwundbarkeit ausgenutzt werden kann
  • Überprüfen Sie, ob die Anwendung eine sensible Aktion freigibt, die von überall über das benutzerdefinierte Schema aufgerufen werden kann
  • UIActivity Sharing
  • Überprüfen Sie, ob die Anwendung UIActivities empfangen kann und ob es möglich ist, eine Verwundbarkeit mit speziell erstellten Aktivitäten 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 eine 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 zugreifen kann (JSContext, postMessage)

Netzwerkkommunikation

  • Führen Sie eine MitM-Attacke auf die Kommunikation durch und suchen Sie nach Web-Schwachstellen.
  • Überprüfen Sie, ob der Hostname des Zertifikats überprüft wird.
  • Überprüfen/Skippen Sie das Zertifikats-Pinning.

Verschiedenes

  • Überprüfen Sie auf Mechanismen für automatisches Patchen/Aktualisieren.
  • Überprüfen Sie auf bösartige Bibliotheken von Drittanbietern.

Try Hard Security Group

{% embed url="https://discord.gg/tryhardsecurity" %}

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:


Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden.
Heute Zugriff erhalten:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}