11 KiB
Liste de vérification du pentesting iOS
Utilisez Trickest 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 en équipe rouge AWS de HackTricks)!
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 !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFT
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.
Groupe de sécurité Try Hard
{% embed url="https://discord.gg/tryhardsecurity" %}
Préparation
- Lire les Bases d'iOS
- Préparez votre environnement en lisant Environnement de test iOS
- Lire toutes les sections de Analyse initiale iOS pour apprendre les actions courantes pour pentester une application iOS
Stockage de données
- 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 (ios-pentesting/#cache) peuvent stocker des informations sensibles.
- Les instantanés automatiques (ios-pentesting/#snapshots) peuvent enregistrer 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 ?
- Vérifiez si des informations sensibles sont enregistrées dans les fichiers de cache des claviers
Journaux
- Vérifiez si des informations sensibles sont enregistrées
Sauvegardes
- 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
- 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
- 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
- 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
- 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
- L'application utilise-t-elle une extension ?
- WebViews
- 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 et rechercher des vulnérabilités web.
- Vérifier si le nom d'hôte du certificat est vérifié.
- Vérifier/Contourner le pinning de certificat
Divers
- Vérifier les mécanismes de patching/mise à jour automatique
- Vérifier les bibliothèques tierces malveillantes
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!
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La Famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.
Utilisez Trickest 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" %}