
L'une des étapes du test d'une application mobile est une analyse statique. L'analyse statique de l'application est l'analyse de l'application sans effectuer aucune fonction d'application. Le plus pratique pour moi parmi les frameworks open source est MobSF. Peu importe, bienvenue au chat.
MobSF effectue une analyse statique des applications: Android, Apple iOS et Windows Phone et une analyse dynamique: uniquement les applications Android. Je vais vous expliquer comment mener une analyse dynamique dans le prochain article consacré à MobSF. Une description plus détaillée et un manuel d'installation peuvent être trouvés
ici .
Après avoir installé MobSF, nous allons effectuer le fichier batch suivant pour démarrer le serveur (j'ai écrit moi-même, donc lecteur D).
d: cd .\MobSF\ python .\manage.py runserver
Ensuite, vous devez aller à l'adresse
http [:] // 127.0.0.1:8000 et la page principale s'ouvre (Fig. 1). Il n'y a pas grand chose de fonctionnel ici:
- téléchargement de fichiers;
- afficher les rapports sur les analyses passées;
- Passer à la documentation de l'API
- transition vers le projet github.
Fig. 1. La page principaleUne fois le fichier téléchargé et analysé, une page avec le résultat de l'analyse apparaît (Fig. 2). Sur la gauche se trouve un menu qui vous permet de sauter rapidement dans la page (le résultat est volumineux simplement). Quelles informations utiles figurent dans cette capture d'écran:
- quantité de hachage d'application
- Versions du système d'exploitation Android prises en charge
- le nombre et les types de composants (exportés ou non), cela est important, car les composants exportés peuvent entraîner des vulnérabilités critiques;
- la possibilité de visualiser et de télécharger des fichiers java et smali qui peuvent être analysés avec d'autres outils ou manuellement;
- afficher le fichier manifeste pour analyse.
Fig. 2. Le résultat de l'analyseNous allons plus loin. Dans la fig. La figure 3 montre les informations de certificat par lesquelles l'application a été signée.
Fig. 3. Informations sur le certificatCe qui suit est une description de l'analyse des autorisations, qui sont décrites dans le fichier AndroidManifest.xml (Fig.4). MobSF analyse les autorisations de l'application, détermine son état, pour la criticité et la description des autorisations. Ici, vous devez comprendre l'architecture d'Android OS pour la véritable criticité de l'application.
Fig. 4. Analyse des autorisations AndroidL'onglet Security Analysis -> Code Analysis (Fig. 5) montre le résultat de l'analyse de code java par un analyseur statique qui identifie les vulnérabilités potentielles, détermine leur gravité et les fichiers dans lesquels ce type de vulnérabilité a été trouvé. À bien des égards, ces résultats sont faux positifs, mais vous devez vérifier à nouveau.
Fig. 5. Analyse de codeL'onglet suivant (Fig. 6) est l'analyse des fichiers sur le service virustotal.com. Dans ce cas, le fichier n'a pas été détecté comme infecté.
Fig. 6. Analyse de fichiersL'onglet URL (figure 7) affiche une liste d'URL, d'adresses IP et de fichiers dans lesquels ils sont stockés ou appelés. Cette section analyse où l'application envoie des données ou où elle stocke des informations.
Fig. 7. URL des ongletsL'onglet «Chaînes» (Fig. 8) analyse les fichiers texte qui se trouvent dans le répertoire res. Lors de l'analyse de l'application, ces fichiers peuvent contenir des comptes codés en dur et d'autres données sensibles. Bien que ce ne soit pas dans ma mémoire.
Fig. 8. Analyse des fichiers texteL'onglet «Composants» (Fig. 9) affiche une liste complète des composants (activité, service, fournisseur de contenu et réception), bibliothèques et fichiers importés sans définir d'extension.
Fig. 9. Liste des composantsDe plus, l'analyse du code source peut être effectuée à l'aide de l'analyseur statique du scanner VCG. VCG a besoin de code source. Le code source peut être téléchargé via le bouton Télécharger le code Java (Fig. 10). Le fichier est téléchargé dans une archive ZIP. Ensuite, vous devez extraire le dossier contenant les fichiers de l'archive (Fig. 11).
Fig. 10. Téléchargement du code source
Fig. 11. Extraire le code sourceL'analyse du code source se fait comme suit:
- Dans l'onglet «Paramètres», sélectionnez «Java» - Figure 12.
- Dans l'onglet «Fichier», sélectionnez «Nouveau répertoire cible» - Figure 13.
- Dans l'onglet «Scan», sélectionnez «Full scan» - Figure 14.
Fig. 12. Sélection du code source
Fig. 13. Téléchargement d'un répertoire avec des fichiers
Fig. 14. Lancer l'analyseUne fois l'analyse terminée, le scanner affiche les noms de la vulnérabilité, sa criticité, une brève description et la place dans le code source (Fig. 15). Vous pouvez obtenir une liste complète des vulnérabilités et les trier par leur criticité (Fig. 16).
Fig. 15. Description des vulnérabilités
Fig. 16. La liste complète des vulnérabilitésConclusionL'analyse statique de l'application et du code source fournit des concepts de base sur l'architecture de l'application et les vecteurs d'attaque potentiels. Selon la méthodologie utilisée par
ByteCode, c'est de lui que commence l'analyse de toutes les candidatures du client venu au pentest.