Outil Medusa / Mango
Description
Medusa est un framework extensible et modularisé qui automatise les processus et les techniques pratiqués lors de l'analyse dynamique des applications Android et iOS.
Lien vers le repo github: https://github.com/Ch0pin/medusa
Résumé
Medusa fonctionne de la même manière que Metasploit ce qui en fait un outil parfait pour les utilisateurs déjà à l'aise avec le fonctionnement et les commandes de Metasploit. Il regroupe un ensemble de scripts Frida classés en modules par catégories (exp: http_communications, root_detection). Cela permet une organisation et un gain de temps considérable car tout est déjà installé et disponible depuis une seule et même interface.
Commandes utiles
Dump de mémoire
medusa> dump com.target.xyz
Frappes clavier vers l'appareil
medusa> type "Hello World!"
Voir / Modifier les configuration de l'outil
Lister les librairies natives d'un package
medusa> libs com.target.xyz
Afficher les stack traces d'une fonction
medusa> jtrace com.target.xyz.function
Hook une activité pour en exrtraire les arguments
medusa> hook -a com.target.xyz.test.MyActvity
Exporter les modules chargés pour un usage futur
medusa> export exportname.medusa
Enumerer les fonctions exportées d'une librairie native:
medusa> enumerate com.target.xyz libtest.so
Lister/Créer/Supprimer des alias
medusa> alias create <alias> <command>
Exemple:
Modules
Il est possible de lister les catégories disponibles avec la commande:
medusa> show categories
Recherche de modules
De manière plus précise, on peut êgalement faire des recherches par mot clés dans les noms des modules disponibles.
Exemple:
On peut également si besoin utiliser la commande info pour lire des informations sur un module spécifique.
medusa> info <module>
Choix des modules
orsqu'on trouve le(s) module(s) souhaités, on peut alors les ajouter aux modules en attente de lancement avec la commande:
medusa> use <module>
Enfin, on exécute les modules en exécutant l'application grâce à la commande:
medusa> run -f com.target.xyz
Note: l'ordre d'exécution des modules est définie par l'ordre dans lequel ils ont été choisis
Exemple:
Tips: la commande swap permet d'inverser l'ordre d'execution entre deux modules en attente.
Réinistialisation des modules
medusa> reset
Suppression d'un ou plusieurs modules (Tout ce qui commence par ...)
medusa> rem <module>
Si un module a été modifié
medusa> reload <module>
Scripts et modules custom
Si aucun des modules préinstallés ne convient, il est possible d'importer un script avec la commande suivante:
medusa> import [tab]
Les scripts custom sont stockés dans /medusa/snippets/, il est donc possible d'ajouter simplement des scripts personnels en les stockants dans ce répértoire.
Exemple: /medusa/snippets/example.js => import example
Attention: La partie Java.perform(function() { }
doit être supprimée du script pour être compatible.
Note: Afin de vérifier le code du module on peut utiliser la commande:
medusa> snippet example
Mango
Mango fait partie de Medusa mais à été séparé du script python medusa.py (c'est un autre script nommé mango.py). Il est séparé car ses cas d'usage sont différents et se concentres principalement sur de l'analyse statique à quelques exceptions prés.
Installer l'agent sur le device
mango> installagent
Importer un APK pour analyse
Depuis le PC
mango> import /path/to/target.apk
Depuis le device
medusa> pull com.target.xyz
Cela créer un fichier .db qui contient les informations de l'application et qui peut être réutilisé comme une session. De plus, Mango affiche les informations importantes du AndroidManifest dés l'importation de l'application.
Enumeration
Enumeration des composants
mango> show [activities, activityAlias, applications, database, deeplinks, exposure, info, intentFilters, manifest, permissions, providers, receivers, services, strings]
Recherche par mot clé dans le AndroidManifest
mango> search keyword
Evaluation de la surface d'attaque
mango> show exposure
Setup d'environnement
Mango contient également quelques outils pour préparer son environnement de travail.
Installer le certificat Burp
mango> InstallBurpCert
Activer le mode Debug dans le AndroidManifest
mango> patch /path/to/target.apk
Configurer le proxy du device
mango> proxy set <ip>:<port>
mango> proxy reset
Analyse dynamique
Envoie de notifications aux listener
mango> notify "test" "hello world!"
Initialiser une session frida-trace
mango> trace com.target.xyz.*
Ouvrir des deeplinks
mango> deeplink app://deeplink
Dernière mise à jour
Cet article vous a-t-il été utile ?