mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
135 lines
10 KiB
Markdown
135 lines
10 KiB
Markdown
# Liste de vérification pour le pentesting iOS
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour créer facilement et **automatiser des flux de travail** alimentés par les **outils communautaires les plus avancés** au monde.\
|
|
Accédez dès aujourd'hui :
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Soutenir HackTricks</summary>
|
|
|
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
### Préparation
|
|
|
|
* [ ] Lisez [**les bases de l'iOS**](ios-pentesting/ios-basics.md)
|
|
* [ ] Préparez votre environnement en lisant [**l'environnement de test iOS**](ios-pentesting/ios-testing-environment.md)
|
|
* [ ] Lisez toutes les sections de [**l'analyse initiale iOS**](ios-pentesting/#initial-analysis) pour apprendre les actions courantes à effectuer lors du pentesting d'une application iOS
|
|
|
|
### Stockage de données
|
|
|
|
* [ ] [**Les fichiers Plist**](ios-pentesting/#plist) peuvent être utilisés pour stocker des informations sensibles.
|
|
* [ ] [**Core Data**](ios-pentesting/#core-data) (base de données SQLite) peut stocker des informations sensibles.
|
|
* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (base de données SQLite) peut stocker des informations sensibles.
|
|
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) mauvaise configuration.
|
|
* [ ] [**Les bases de données Realm**](ios-pentesting/#realm-databases) peuvent stocker des informations sensibles.
|
|
* [ ] [**Les bases de données Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) peuvent stocker des informations sensibles.
|
|
* [ ] [**Les cookies binaires**](ios-pentesting/#cookies) peuvent stocker des informations sensibles.
|
|
* [ ] [**Les données de cache**](ios-pentesting/#cache) peuvent stocker des informations sensibles.
|
|
* [ ] [**Les instantanés automatiques**](ios-pentesting/#snapshots) peuvent sauvegarder des informations visuelles sensibles.
|
|
* [ ] [**Le trousseau**](ios-pentesting/#keychain) est généralement utilisé pour stocker des informations sensibles qui peuvent être laissées lors de la revente du téléphone.
|
|
* [ ] En résumé, vérifiez simplement **les informations sensibles enregistrées par l'application dans le système de fichiers**.
|
|
|
|
### Claviers
|
|
|
|
* [ ] L'application [**permet-elle d'utiliser des claviers personnalisés**](ios-pentesting/#custom-keyboards-keyboard-cache) ?
|
|
* [ ] Vérifiez si des informations sensibles sont enregistrées dans les [**fichiers de cache des claviers**](ios-pentesting/#custom-keyboards-keyboard-cache).
|
|
|
|
### **Journaux**
|
|
|
|
* [ ] Vérifiez si [**des informations sensibles sont enregistrées**](ios-pentesting/#logs).
|
|
|
|
### Sauvegardes
|
|
|
|
* [ ] [**Les sauvegardes**](ios-pentesting/#backups) peuvent être utilisées pour **accéder aux informations sensibles** enregistrées dans le système de fichiers (vérifiez le point initial de cette liste de vérification).
|
|
* [ ] De plus, [**les sauvegardes**](ios-pentesting/#backups) peuvent être utilisées pour **modifier certaines configurations de l'application**, puis **restaurer** la sauvegarde sur le téléphone, et comme la **configuration modifiée** est **chargée**, certaines (sécurités) **fonctionnalités** peuvent être **contournées**.
|
|
|
|
### **Mémoire des applications**
|
|
|
|
* [ ] Vérifiez les informations sensibles à l'intérieur de la [**mémoire de l'application**](ios-pentesting/#testing-memory-for-sensitive-data).
|
|
|
|
### **Cryptographie cassée**
|
|
|
|
* [ ] Vérifiez si vous pouvez trouver [**des mots de passe utilisés pour la cryptographie**](ios-pentesting/#broken-cryptography).
|
|
* [ ] Vérifiez l'utilisation d'[**algorithmes obsolètes/faibles**](ios-pentesting/#broken-cryptography) pour envoyer/stocker des données sensibles.
|
|
* [ ] [**Interceptez et surveillez les fonctions de cryptographie**](ios-pentesting/#broken-cryptography).
|
|
|
|
### **Authentification locale**
|
|
|
|
* [ ] Si une [**authentification locale**](ios-pentesting/#local-authentication) est utilisée dans l'application, vous devez vérifier comment l'authentification fonctionne.
|
|
* [ ] Si elle utilise le [**Framework d'authentification locale**](ios-pentesting/#local-authentication-framework), elle pourrait être facilement contournée.
|
|
* [ ] Si elle utilise une [**fonction qui peut être contournée dynamiquement**](ios-pentesting/#local-authentication-using-keychain), vous pourriez créer un script frida personnalisé.
|
|
|
|
### Exposition de fonctionnalités sensibles via IPC
|
|
|
|
* [**Gestionnaires URI personnalisés / Deeplinks / Schémas personnalisés**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes).
|
|
* [ ] Vérifiez si l'application **enregistre un protocole/schéma**.
|
|
* [ ] Vérifiez si l'application **s'enregistre pour utiliser** un protocole/schéma.
|
|
* [ ] Vérifiez si l'application **s'attend à recevoir un type d'informations sensibles** du schéma personnalisé qui peut être **intercepté** par une autre application enregistrant le même schéma.
|
|
* [ ] Vérifiez si l'application **ne vérifie pas et ne nettoie pas** les entrées des utilisateurs via le schéma personnalisé et si une **vulnérabilité peut être exploitée**.
|
|
* [ ] Vérifiez si l'application **expose une action sensible** qui peut être appelée de n'importe où via le schéma personnalisé.
|
|
* [**Liens universels**](ios-pentesting/#universal-links).
|
|
* [ ] Vérifiez si l'application **enregistre un protocole/schéma universel**.
|
|
* [ ] Vérifiez le fichier `apple-app-site-association`.
|
|
* [ ] Vérifiez si l'application **ne vérifie pas et ne nettoie pas** les entrées des utilisateurs via le schéma personnalisé et si une **vulnérabilité peut être exploitée**.
|
|
* [ ] Vérifiez si l'application **expose une action sensible** qui peut être appelée de n'importe où via le schéma personnalisé.
|
|
* [**Partage UIActivity**](ios-pentesting/ios-uiactivity-sharing.md).
|
|
* [ ] Vérifiez si l'application peut recevoir des UIActivities et s'il est possible d'exploiter une vulnérabilité avec une activité spécialement conçue.
|
|
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md).
|
|
* [ ] Vérifiez si l'application **copie quoi que ce soit dans le presse-papiers général**.
|
|
* [ ] Vérifiez si l'application **utilise les données du presse-papiers général pour quoi que ce soit**.
|
|
* [ ] Surveillez le presse-papiers pour voir si des **données sensibles sont copiées**.
|
|
* [**Extensions d'application**](ios-pentesting/ios-app-extensions.md).
|
|
* [ ] L'application **utilise-t-elle une extension** ?
|
|
* [**WebViews**](ios-pentesting/ios-webviews.md).
|
|
* [ ] Vérifiez quel type de webviews est utilisé.
|
|
* [ ] Vérifiez l'état de **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**.
|
|
* [ ] Vérifiez si le webview peut **accéder aux fichiers locaux** avec le protocole **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`).
|
|
* [ ] Vérifiez si Javascript peut accéder aux **méthodes** **Native** (`JSContext`, `postMessage`).
|
|
|
|
### Communication réseau
|
|
|
|
* [ ] Effectuez un [**MitM sur la communication**](ios-pentesting/#network-communication) et recherchez des vulnérabilités web.
|
|
* [ ] Vérifiez si le [**nom d'hôte du certificat**](ios-pentesting/#hostname-check) est vérifié.
|
|
* [ ] Vérifiez/contournez [**le Certificate Pinning**](ios-pentesting/#certificate-pinning).
|
|
|
|
### **Divers**
|
|
|
|
* [ ] Vérifiez les mécanismes de [**patching/mise à jour automatique**](ios-pentesting/#hot-patching-enforced-updateing).
|
|
* [ ] Vérifiez les [**bibliothèques tierces malveillantes**](ios-pentesting/#third-parties).
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Soutenir HackTricks</summary>
|
|
|
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour créer facilement et **automatiser des flux de travail** alimentés par les **outils communautaires les plus avancés** au monde.\
|
|
Accédez dès aujourd'hui :
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|