👾Méthodologie
Mindmaps
Collecte d'informations
Recherche passive
Recherche active
Cartographie de la surface d'attaque
Ingénierie inverse
Etude du fonctionnement de l'application pour en comprendre la structure et les fonctions
Analyse statique
Analyse de code
Analyse des fichiers sensibles
Recherches de mauvaises configurations
Fichiers sensibles dans les stockages locaux
...
Analyse dynamique
Analyse de l'application en cours de fonctionnement:
Requêtes
Stockages
logs
points d'intérêt:
Les informations sur les échanges réseau réalisés
Les accès en lecture et écriture sur les fichiers
Les services démarrés, les classes chargées, etc.
D'éventuelles fuites d’informations et stockages d’informations sensibles en clair.
Les données sur les « broadcast receivers »
Les opérations de chiffrement utilisant l’API Android
Les informations sur les appels et SMS
Les injections de code
Des défauts de cloisonnement
Une mauvaise gestion des privilèges
La mauvaise manipulation de composants
Vérification des logs avec logcat
Liste des niveaux de logs :
V = Verbose (lowest priority)
D = Debug
I = Info
W = Warning
E = Error
F = Fatal
S = Silent (highest priority)
Rapport
Rédaction d'un rapport
Top 10 OWASP
Improper platform usage
Cette catégorie regroupe toutes les vulnérabilités liés à une mauvaise utilisation des fonctionnalités Android tels que les "intents", les permissions, le TouchID etc.
Insecure data storage
Stocker des données non chiffrées dans le stockage local de l'appareil est une mauvaise pratique, car il existe des applications malveillantes qui peuvent tenter d'en récupérer des informations sensibles. Les attaquants peuvent également récupérer directement les données d'un appareil volé.
Insecure communication
Tout comme pour le pentest web, le chiffrement des communications est important pour éviter que des acteurs malveillants intercepte les informations transmises par l'application, celle-ci doit avoir mis en place une bonne protection sur données en transit.
Insecure authentication
Cette catégorie regroupe toutes les vulnérabilités liés à la sécurité du système d'authentification (Mot de passe faible / par défaut, bypass, politique de mot de passe faible et/ou contournable...)
Insufficent cryptography
Dans ce type de vulnérabilité on va retrouver toutes les données sensibles non chiffrés ou chiffrés avec des moyens obsolètes tels que le MD5 par exemple.
Insecure authorization
à ne pas confondre avec la vulnérabilité "Insecure authentication", les attaquants utilisent généralement des outils automatisés disponibles ou personnalisés pour se connecter à une application en tant qu'utilisateur légitime. Une fois connectés, ils peuvent effectuer des attaques binaires contre l'application mobile et essayer d'exécuter des fonctionnalités privilégiées qui ne devraient être exécutables qu'avec un utilisateur disposant de privilèges plus élevés lorsque l'application mobile est en mode "hors ligne".
Poor code quality
Comme son nom l'indique, dans ce type de vulnérabilités se trouve tous les problèmes liés à l'usage de fonctions et méthodes vulnérables, déprécié(e)s ou aux mauvaises pratique de sécurité dans le code (pour résumé, le non respect du "security by design").
Code tampering
Dans ce type de vulnérabilités, les attaquants peuvent créer des applications malveillantes en modifiant le code source des applications existantes et en les hébergeant dans des magasins d'applications tiers. Les attaquants peuvent également fournir ces applications malveillantes modifiées à la victime en utilisant des techniques de phishing.
Reverse engineering
Les attaquants téléchargeront une application depuis l'App Store afin d'effectuer des techniques d'ingénierie inverse et d'analyse statique, à l'aide des outils disponibles. Cela leur permet de comprendre les fonctionnalités de l'application, de modifier le code et de le recompiler.
Extraneous functionnality
Pour ce type de vulnérabilités, les attaquant vont d'abord analyser le fonctionnement de l'application afin de découvrir des fonctionnalités en back-end qu'il vont directement cibler sans passer par l'application.
Dernière mise à jour