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

11 KiB

Liste de vérification pour le pentest iOS


Utilisez Trickest pour créer et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.
Obtenez un accès aujourd'hui :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Préparation

Stockage des 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.
  • YapDatabases (base de données SQLite) peut 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 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 si l'application enregistre des informations sensibles dans le système de fichiers.

Claviers

Journaux

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 vérification)
  • 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

Cryptographie défaillante

Authentification locale

Exposition de fonctionnalités sensibles via IPC

  • Gestionnaires d'URI personnalisés / Deeplinks / Schemes personnalisés
  • Vérifiez si l'application enregistre un protocole/un schéma quelconque.
  • Vérifiez si l'application s'enregistre pour utiliser un protocole/un schéma quelconque.
  • 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 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
  • Vérifiez si l'application enregistre un protocole/un schéma universel quelconque.
  • 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 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
  • 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érifier si l'application utilise les données du presse-papiers général pour quoi que ce soit
  • Surveiller 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érifier quel type de webviews est utilisé
  • Vérifier l'état de javaScriptEnabled, JavaScriptCanOpenWindowsAutomatically, hasOnlySecureContent
  • Vérifier si la webview peut accéder aux fichiers locaux avec le protocole file:// (allowFileAccessFromFileURLs, allowUniversalAccessFromFileURLs)
  • Vérifier si Javascript peut accéder aux méthodes natives (JSContext, postMessage)

Communication réseau

Divers

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥


Utilisez Trickest pour créer et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde.
Obtenez un accès aujourd'hui :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}