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

147 lines
9.9 KiB
Markdown
Raw Normal View History

# Liste de vérification du pentesting iOS
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 17:19:07 +01:00
\
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser facilement** des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
Accédez dès aujourd'hui :
2022-08-31 22:35:39 +00:00
2023-01-01 17:19:07 +01: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>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
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 [**NFT**](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.
2022-04-28 16:01:33 +00:00
</details>
**Groupe de sécurité Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
2023-06-03 13:10:46 +00:00
### Préparation
2021-05-21 17:13:19 +00:00
* [ ] 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
2021-05-21 17:13:19 +00:00
### Stockage de données
2021-05-21 17:13:19 +00:00
* [ ] Les fichiers **Plist** peuvent être utilisés pour stocker des informations sensibles.
* [ ] **Core Data** (base de données SQLite) peut stocker des informations sensibles.
* [ ] Les **bases de données Yap** (base de données SQLite) peuvent stocker des informations sensibles.
* [ ] **Firebase** mauvaise configuration.
* [ ] Les **bases de données Realm** peuvent stocker des informations sensibles.
* [ ] Les **bases de données Couchbase Lite** peuvent stocker des informations sensibles.
* [ ] Les **cookies binaires** peuvent stocker des informations sensibles
* [ ] Les données de **cache** peuvent stocker des informations sensibles
* [ ] Les **instantanés automatiques** peuvent enregistrer des informations sensibles visuelles
* [ ] Le **trousseau** 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
2021-05-21 17:13:19 +00:00
2023-06-03 13:10:46 +00:00
### Claviers
2021-05-21 17:13:19 +00:00
* [ ] L'application permet-elle d'utiliser des **claviers personnalisés**?
* [ ] Vérifiez si des informations sensibles sont enregistrées dans les **fichiers de cache des claviers**
2021-05-21 17:13:19 +00:00
### **Journaux**
2021-05-21 17:13:19 +00:00
* [ ] Vérifiez si des **informations sensibles sont enregistrées** dans les **journaux**
2021-05-21 17:13:19 +00:00
2023-06-03 13:10:46 +00:00
### Sauvegardes
2021-05-21 17:13:19 +00:00
* [ ] Les **sauvegardes** 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** 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**
### **Cryptographie cassée**
* [ ] Vérifiez si vous pouvez trouver des **mots de passe utilisés pour la cryptographie**
* [ ] Vérifiez l'utilisation d'**algorithmes obsolètes/faibles** pour envoyer/stoker des données sensibles
* [ ] **Accrochez et surveillez les fonctions de cryptographie**
### **Authentification locale**
* [ ] Si une **authentification locale** est utilisée dans l'application, vous devriez vérifier comment l'authentification fonctionne.
* [ ] Si elle utilise le **Cadre d'authentification locale**, elle pourrait être facilement contournée
* [ ] Si elle utilise une **fonction qui peut être contournée dynamiquement**, 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/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**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Autres moyens 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.
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
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" %}