# Liste de vérification du pentesting iOS
\ Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire facilement et **automatiser des workflows** 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" %}
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge HackTricks AWS)! Autres façons de soutenir HackTricks : * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
**Groupe de sécurité Try Hard**
{% embed url="https://discord.gg/tryhardsecurity" %} *** ### Préparation * [ ] Lisez les [**Bases d'iOS**](ios-pentesting/ios-basics.md) * [ ] Préparez votre environnement en lisant [**Environnement de test iOS**](ios-pentesting/ios-testing-environment.md) * [ ] Lisez toutes les sections de [**Analyse initiale iOS**](ios-pentesting/#initial-analysis) pour apprendre les actions courantes pour tester 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. * [ ] Les [**bases de données Yap**](ios-pentesting/#yapdatabase) (base de données SQLite) peuvent 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 enregistrer des informations visuellement 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 contrôle) * [ ] 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 lorsque la **configuration modifiée** est **chargée**, certaines fonctionnalités (de sécurité) peuvent être **contournées** ### **Mémoire des applications** * [ ] Vérifiez les informations sensibles dans 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** pour envoyer/stoker des données sensibles * [ ] [**Accrochez 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 devriez vérifier comment l'authentification fonctionne. * [ ] Si elle utilise le [**Cadre 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 d'URI personnalisés / Liens profonds / Schémas personnalisés**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes) * [ ] Vérifiez si l'application **enregistre un protocole/un schéma** * [ ] Vérifiez si l'application **s'enregistre pour utiliser** un protocole/un 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 désinfecte pas** les entrées des utilisateurs via le schéma personnalisé et qu'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/un schéma universel** * [ ] Vérifiez le fichier `apple-app-site-association` * [ ] Vérifiez si l'application **ne vérifie pas et ne désinfecte pas** les entrées des utilisateurs via le schéma personnalisé et qu'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 d'activités UI**](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 quelque chose dans le presse-papiers général** * [ ] Vérifiez si l'application **utilise les données du presse-papiers général pour quelque chose** * [ ] 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 la webview peut **accéder aux fichiers locaux** avec le protocole **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`) * [ ] Vérifiez si JavaScript peut accéder aux **méthodes natives** (`JSContext`, `postMessage`) ### Communication Réseau * [ ] Effectuer une [**attaque de l'homme du milieu sur la communication**](ios-pentesting/#network-communication) et rechercher des vulnérabilités web. * [ ] Vérifier si le [**nom d'hôte du certificat**](ios-pentesting/#hostname-check) est vérifié. * [ ] Vérifier/Contourner le [**pinning de certificat**](ios-pentesting/#certificate-pinning) ### **Divers** * [ ] Vérifier les mécanismes de [**patching/mise à jour automatique**](ios-pentesting/#hot-patching-enforced-updateing) * [ ] Vérifier les [**bibliothèques tierces malveillantes**](ios-pentesting/#third-parties) **Groupe de Sécurité Try Hard**
{% embed url="https://discord.gg/tryhardsecurity" %}
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)! Autres façons de soutenir HackTricks: * Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)! * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
\ Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser facilement des workflows** 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" %}