👾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