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

127 lines
9.8 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# iOS Pentesting Checklist
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
\
2024-02-10 15:36:32 +00:00
Verwenden Sie [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.\
Erhalten Sie noch heute Zugriff:
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-08-31 22:35:39 +00:00
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie das Hacken von AWS von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-05 11:02:33 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 15:36:32 +00:00
### Vorbereitung
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Lesen Sie [**iOS Basics**](ios-pentesting/ios-basics.md)
* [ ] Bereiten Sie Ihre Umgebung vor, indem Sie [**iOS Testing Environment**](ios-pentesting/ios-testing-environment.md) lesen
* [ ] Lesen Sie alle Abschnitte von [**iOS Initial Analysis**](ios-pentesting/#initial-analysis), um gängige Aktionen zum Pentesten einer iOS-Anwendung zu erlernen
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### Datenspeicherung
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] [**Plist-Dateien**](ios-pentesting/#plist) können zum Speichern sensibler Informationen verwendet werden.
* [ ] [**Core Data**](ios-pentesting/#core-data) (SQLite-Datenbank) kann sensible Informationen speichern.
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (SQLite-Datenbank) können sensible Informationen speichern.
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) Fehlkonfiguration.
* [ ] [**Realm-Datenbanken**](ios-pentesting/#realm-databases) können sensible Informationen speichern.
* [ ] [**Couchbase Lite-Datenbanken**](ios-pentesting/#couchbase-lite-databases) können sensible Informationen speichern.
* [ ] [**Binäre Cookies**](ios-pentesting/#cookies) können sensible Informationen speichern.
* [ ] [**Cache-Daten**](ios-pentesting/#cache) können sensible Informationen speichern.
* [ ] [**Automatische Schnappschüsse**](ios-pentesting/#snapshots) können visuell sensible Informationen speichern.
* [ ] [**Keychain**](ios-pentesting/#keychain) wird normalerweise verwendet, um sensible Informationen zu speichern, die beim Weiterverkauf des Telefons zurückbleiben können.
* [ ] Zusammenfassend sollten Sie nur **nach sensiblen Informationen suchen, die von der Anwendung im Dateisystem gespeichert werden**.
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### Tastaturen
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Ermöglicht die Anwendung die Verwendung von [**benutzerdefinierten Tastaturen**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] Überprüfen Sie, ob sensible Informationen in den [**Tastatur-Cache-Dateien**](ios-pentesting/#custom-keyboards-keyboard-cache) gespeichert sind.
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### **Protokolle**
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Überprüfen Sie, ob [**sensible Informationen protokolliert werden**](ios-pentesting/#logs).
2021-05-21 17:13:19 +00:00
2022-05-01 13:25:53 +00:00
### Backups
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] [**Backups**](ios-pentesting/#backups) können verwendet werden, um auf die im Dateisystem gespeicherten sensiblen Informationen zuzugreifen (überprüfen Sie den Ausgangspunkt dieser Checkliste).
* [ ] Außerdem können [**Backups**](ios-pentesting/#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 einige (Sicherheits-) Funktionalität umgangen werden.
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### **Anwendungsspeicher**
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Überprüfen Sie, ob sich sensible Informationen im [**Speicher der Anwendung**](ios-pentesting/#testing-memory-for-sensitive-data) befinden.
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### **Gebrochene Kryptographie**
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Überprüfen Sie, ob Sie [**Passwörter für Kryptographie**](ios-pentesting/#broken-cryptography) finden können.
* [ ] Überprüfen Sie die Verwendung von [**veralteten/schwachen Algorithmen**](ios-pentesting/#broken-cryptography) zum Senden/Speichern sensibler Daten.
* [ ] [**Haken und Überwachen von Kryptographie-Funktionen**](ios-pentesting/#broken-cryptography)
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### **Lokale Authentifizierung**
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Wenn eine [**lokale Authentifizierung**](ios-pentesting/#local-authentication) in der Anwendung verwendet wird, sollten Sie überprüfen, wie die Authentifizierung funktioniert.
* [ ] Wenn die [**Local Authentication Framework**](ios-pentesting/#local-authentication-framework) verwendet wird, kann sie leicht umgangen werden.
* [ ] Wenn eine [**Funktion verwendet wird, die dynamisch umgangen werden kann**](ios-pentesting/#local-authentication-using-keychain), können Sie ein benutzerdefiniertes Frida-Skript erstellen.
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### Exposition sensibler Funktionen über IPC
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [**Benutzerdefinierte URI-Handler / Deeplinks / Benutzerdefinierte Schemata**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Ü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 **sensible Informationen** vom benutzerdefinierten Schema erwartet, die von einer anderen Anwendung, die dasselbe Schema registriert hat, **abgefangen** werden können.
* [ ] Überprüfen Sie, ob die Anwendung die Eingabe der Benutzer über das benutzerdefinierte Schema **nicht überprüft und bereinigt** und eine **Schwachstelle** ausgenutzt werden kann.
* [ ] Überprüfen Sie, ob die Anwendung eine **sensible Aktion freigibt**, die über das benutzerdefinierte Schema von überall aus aufgerufen werden kann.
* [**Universelle Links**](ios-pentesting/#universal-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 Eingabe der Benutzer über das benutzerdefinierte Schema **nicht überprüft und bereinigt** und eine **Schwachstelle** ausgenutzt werden kann.
* [ ] Überprüfen Sie, ob die Anwendung eine **sensible Aktion freigibt**, die über das benutzerdefinierte Schema von überall aus aufgerufen werden kann.
2022-03-27 21:47:46 +00:00
* [**UIActivity Sharing**](ios-pentesting/ios-uiactivity-sharing.md)
2024-02-10 15:36:32 +00:00
* [ ] Überprüfen Sie, ob die Anwendung UIActivities empfangen kann und ob es möglich ist, eine Schwachstelle mit speziell erstellten Aktivitäten auszunutzen.
2022-03-27 21:47:46 +00:00
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
2024-02-10 15:36:32 +00:00
* [ ] Überprüfen Sie, ob die Anwendung **etwas in die allgemeine Zwischenablage kopiert**.
* [ ] Überprüfen Sie, ob die Anwendung **die Daten aus der allgemeinen Zwischenablage für etwas verwendet**.
* [ ] Überwachen Sie die Zwischenablage, um zu sehen, ob sensible Daten kopiert werden.
* [**App-Erweiterungen**](ios-pentesting/ios-app-
### Netzwerkkommunikation
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Führen Sie eine [**MitM-Attacke auf die Kommunikation**](ios-pentesting/#network-communication) durch und suchen Sie nach Web-Schwachstellen.
* [ ] Überprüfen Sie, ob der [**Hostname des Zertifikats**](ios-pentesting/#hostname-check) überprüft wird.
* [ ] Überprüfen/Skippen Sie [**Certificate Pinning**](ios-pentesting/#certificate-pinning).
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
### **Sonstiges**
2021-05-21 17:13:19 +00:00
2024-02-10 15:36:32 +00:00
* [ ] Überprüfen Sie auf [**automatische Patching/Updates**](ios-pentesting/#hot-patching-enforced-updateing) Mechanismen.
* [ ] Überprüfen Sie auf [**bösartige Drittanbieter-Bibliotheken**](ios-pentesting/#third-parties).
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-05 11:02:33 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
2022-04-28 16:01:33 +00:00
</details>
2022-08-31 22:35:39 +00:00
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
\
2024-02-10 15:36:32 +00:00
Verwenden Sie [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.\
Erhalten Sie noch heute Zugang:
2022-08-31 22:35:39 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}