Test dynamique des applications Android


Des tests dynamiques sont effectués pour identifier les vulnérabilités pendant le fonctionnement de l'application. Dans cet article, je souhaite partager plusieurs façons de tester l'application pour Android. Je montrerai également comment configurer et configurer l'équipement. Peu importe, bienvenue au chat.

Les tests dynamiques impliquent l'analyse des journaux d'applications, l'analyse du trafic des applications, la recherche de bogues pendant le fonctionnement, etc. Pour les tests, vous devez configurer la machine virtuelle sur Genimotion, comme décrit ici .

Quels outils sont utilisés pour l'analyse dynamique:

  • BurpSuite;
  • Inspakage;
  • Pidcat ou autre application avec des autorisations de lecture pour les journaux.

Comment tester avec BurpSuite

Vous devez d'abord configurer le proxy et importer le certificat. BurpSuite affiche les vulnérabilités des applications au verrouillage SSL et peut trouver des vulnérabilités qui existent sur le serveur avec lequel l'application est en contact.

1. Installer un proxy

Vous devez d'abord afficher des informations sur les interfaces pour les paramètres de proxy corrects.


Fig. 1. Informations sur les interfaces.

Configurez les proxys sur BurpSuite.


Fig. 2. Paramètres proxy sur BurpSuite.

Nous installons des proxys sur l'appareil sur lequel nous effectuerons les tests.


Fig. 3. Paramètres proxy sur l'appareil.

Entrez http [:] // burp / dans le navigateur - cela est nécessaire pour télécharger le certificat. Et téléchargez le certificat pour travailler. Ensuite, vous devez ouvrir le dossier «Téléchargements», il y a un certificat téléchargé. Un appui long sur le certificat affiche un menu dans lequel nous sélectionnons «Renommer» et changeons l'extension en .cer et importons le certificat.


Fig. 4. Télécharger le certificat /

2. Certificat d'importation

Nous allons dans les paramètres de l'appareil, trouvons l'élément «Sécurité», puis sélectionnons «Installer depuis SD». Dans le dossier «Téléchargements», sélectionnez le certificat qui a été téléchargé et renommé. Après avoir besoin de donner un nom au certificat.


Fig. 5. Certificat d'importation.


Fig. 6. Certificat d'importation.

3. Vérification de l'installation du certificat et affichage du trafic via BurpSuite.


Fig. 7. Tester l'exactitude de l'importation de certificats.


Fig. 8. Nous examinons les demandes provenant de l'appareil.

Vous pouvez maintenant tester l'interaction avec l'API.

À partir d'Android 7, cette méthode d'ajout d'un certificat Burp à approuvé ne fonctionnera pas pour la plupart des applications - par défaut, les certificats utilisateur ne sont plus approuvés. Par conséquent, vous devrez rooter, donner au certificat le nom correct et le mettre dans le répertoire système. (Commentaire de y4ppieflu)
Comment tester sur Inspakage

Inspekage est un outil qui permet de tester dynamiquement les applications Android et vous aide à comprendre ce que fait l'application pendant l'exécution. Inspekage montre le fonctionnement de l'application avec:

  • les fichiers
  • bases de données
  • la cryptographie
  • requêtes http
  • cordes
  • journaux et autres


Fig. 9. Lancement de l'application pour les tests.


Fig. 10. Lancement de l'application pour les tests.

Après avoir démarré l'application, dans le navigateur, entrez https [:] // 192 [.] 168 [.] 100 [.] 198 [:] 8008 accédez à la console d'application (Fig. 11).


Fig. 11. Exécution de la console dans un navigateur.

Ensuite, parcourez les onglets de la console:

  • Préférences partagées - Fig. 12 - démontre l'interaction de l'application avec les ressources locales.
  • Sérialisation - Fig. 13
  • Crypto - Fig. 14 - démontre le travail avec la cryptographie (SSL / TLS n'est pas inclus ici)
  • Hachage - Fig. 14
  • SQLite - Figure 15
  • HTTP - pic. 16 - dans BurpSuite, cet onglet est mieux divulgué
  • FileSystems - Fig. 17 - travail d'application avec des fichiers
  • IPC - Fig. 18, etc.


Fig. 12. Préférences partagées.


Fig. 13. Sérialisation.


Fig. 14. Crypto.


Fig. 15. Hash.


Fig. 16. SQLite.


Fig. 17. HTTP.


Fig. 18. Système de fichiers.


Fig. 19. IPC.

Tester avec Pidcat

Pidcat est une application qui lit les journaux d'opérations d'application. Lors des tests, vous devez exécuter les fonctions de l'application et voir quelles données se trouvent dans les journaux de travail. Fondamentalement, les informations de service y sont affichées, il arrive que vous puissiez obtenir des informations critiques, par exemple, une copie de sauvegarde d'une clé privée. Si l'appareil contient des logiciels malveillants, ces informations peuvent tomber entre les mains d'un attaquant.


Fig. 20. Sauvegarde de la clé privée.


Fig. 21. Informations confidentielles.

Conclusion

En pratique, les méthodes de test dynamique de base des applications Android que nous utilisons dans ByteCode pour travailler sont présentées. Il existe également un module pour les tests automatisés dans le cadre MobSF, mais cela nécessite un article séparé.

Source: https://habr.com/ru/post/fr432820/


All Articles