mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-27 07:01:09 +00:00
146 lines
11 KiB
Markdown
146 lines
11 KiB
Markdown
# iOS Pentesting Checklist
|
|
|
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Verwenden Sie [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), 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" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Erlernen 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>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen** möchten oder **HackTricks im PDF-Format 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 einreichen.
|
|
|
|
</details>
|
|
|
|
**Try Hard Security Group**
|
|
|
|
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
|
|
***
|
|
|
|
### Vorbereitung
|
|
|
|
* [ ] Lesen Sie [**iOS-Grundlagen**](ios-pentesting/ios-basics.md)
|
|
* [ ] Bereiten Sie Ihre Umgebung vor, indem Sie [**iOS-Testumgebung**](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
|
|
|
|
### Datenspeicherung
|
|
|
|
* [ ] [**Plist-Dateien**](ios-pentesting/#plist) können zur Speicherung sensibler Informationen verwendet werden.
|
|
* [ ] [**Core Data**](ios-pentesting/#core-data) (SQLite-Datenbank) kann sensible Informationen speichern.
|
|
* [ ] [**YapDatenbanken**](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
|
|
* [ ] [**Schlüsselbund**](ios-pentesting/#keychain) 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
|
|
|
|
* [ ] Erlaubt die Anwendung die Verwendung von [**benutzerdefinierten Tastaturen**](ios-pentesting/#custom-keyboards-keyboard-cache)?
|
|
* [ ] Überprüfen Sie, ob sensible Informationen in den [**Tastaturcache-Dateien**](ios-pentesting/#custom-keyboards-keyboard-cache) gespeichert sind
|
|
|
|
### **Protokolle**
|
|
|
|
* [ ] Überprüfen Sie, ob [**sensible Informationen protokolliert werden**](ios-pentesting/#logs)
|
|
|
|
### Backups
|
|
|
|
* [ ] [**Backups**](ios-pentesting/#backups) können verwendet werden, um auf die im Dateisystem gespeicherten sensiblen Informationen zuzugreifen (überprüfen Sie den Anfangspunkt dieses Checklists)
|
|
* [ ] 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 **geänderte Konfiguration** geladen wird, kann eine (Sicherheits-) **Funktionalität umgangen werden**
|
|
|
|
### **Anwendungs-Speicher**
|
|
|
|
* [ ] Überprüfen Sie sensible Informationen im [**Anwendungsspeicher**](ios-pentesting/#testing-memory-for-sensitive-data)
|
|
|
|
### **Gebrochene Kryptographie**
|
|
|
|
* [ ] Ü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
|
|
* [ ] [**Hook und überwachen Sie Kryptografiefunktionen**](ios-pentesting/#broken-cryptography)
|
|
|
|
### **Lokale Authentifizierung**
|
|
|
|
* [ ] Wenn eine [**lokale Authentifizierung**](ios-pentesting/#local-authentication) in der Anwendung verwendet wird, sollten Sie überprüfen, wie die Authentifizierung funktioniert.
|
|
* [ ] Wenn das [**Local Authentication Framework**](ios-pentesting/#local-authentication-framework) verwendet wird, kann es 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
|
|
|
|
### Exposition sensibler Funktionalitäten durch IPC
|
|
|
|
* [**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 sich registriert, 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 **nicht die Benutzereingaben über das benutzerdefinierte Schema überprüft und säubert** 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**](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 **nicht die Benutzereingaben über das benutzerdefinierte Schema überprüft und säubert** 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**](ios-pentesting/ios-uiactivity-sharing.md)
|
|
* [ ] Überprüfen Sie, ob die Anwendung UIActivities empfangen kann und ob es möglich ist, eine Verwundbarkeit mit speziell erstellten Aktivitäten auszunutzen
|
|
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
|
|
* [ ] Ü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**](ios-pentesting/ios-app-extensions.md)
|
|
* [ ] Verwendet die Anwendung **eine Erweiterung**?
|
|
* [**WebViews**](ios-pentesting/ios-webviews.md)
|
|
* [ ] Ü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 **automatische Patching/Updates**.
|
|
* [ ] Überprüfen Sie auf **bösartige Bibliotheken von Drittanbietern**.
|
|
|
|
**Try Hard Security Group**
|
|
|
|
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
|
|
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Erlernen Sie AWS-Hacking 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>
|
|
|
|
Andere Möglichkeiten, HackTricks zu unterstützen:
|
|
|
|
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
|
|
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](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 einreichen.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Verwenden Sie [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), um mühelos Workflows zu erstellen und zu **automatisieren**, unterstützt von den weltweit **fortschrittlichsten** Community-Tools.\
|
|
Erhalten Sie noch heute Zugriff:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|