Hi guys ! I hope all is right for you 😉
Introduction
Ces derniers temps, le test d’intrusion sur des Android est en expansion… certains d’entre vous m’ont également sollicité pour vous montrer une méthodologie.
Aujourd’hui, je vous montre comment générer un payload apk à l’aide de « Evil-Droid ». C’est l’outil utilisé pour compromettre un système Android.
NB : Ne pas oublier que l’utilisation de cet outil est à des fins pédagogiques, c’est pourquoi j’utiliserai uniquement une machine Android virtuelle.
Evil-Droid est un Framework qui crée, génère et intègre un payload apk pour pénétrer les plates-formes Android.
Installation
J’ouvre un terminal sur ma machine Parrot OS et j’exécute la commande suivante pour télécharger l’outil depuis Github :
git clone https://github.com/evilwox/Evil-Droid-New.git
Voilà ! c’est fait. Maintenant j’ouvre le dossier téléchargé dans le terminal et donne toutes les autorisations au script « evil-droid » :
Utilisation d’ Evil-Droid
Tout est prêt , je peux exécuter le script afin de démarrer l’outil :
./evil-droid
Lorsque j’exécute cette commande, il commencera par tester la connexion Internet et ses dépendances disponibles à partir de ma machine local (Parrot OS).
Une invite apparaîtra pour confirmer l’exigence du cadre Evil droid, je sélectionne l’option oui :
Après avoir démarré les services, Evil droid s’ouvrira avec les options ci-dessous :
[1] APK MSF
[2] BACKDOOR APK ORIGINAL (OLD)
[3] BACKDOOR APK ORIGINAL (NEW)
[4] BYPASS AV APK (ICON CHANGE)
[5] START LISTENER
[c] CLEAN
[q] QUIT
[?] Select
Je choisis l’option 3 : BACKDOOR APK ORIGINAL (NEW)
Après cela, une invite apparaîtra à nouveau afin de définir LHOST [adresse IP de l’attaquant] pour une connexion inversée. J’entre mon adresse IP local dans le champ de texte indiqué :
Une fois validé, une invite apparaîtra à nouveau afin de définir LPORT pour définir le port d’écoute local.
Cette étape étant terminée, il va me demander le nom que je veux donner à mon payload :
Ok ! tout est configuré pour générer mon payload apk, il me propose une liste d’options de type de payload que je souhaite générer :
Je choisis android/meterpreter/reverse_tcp
Il faut que je dissimule mon payload dans un fichier .apk original, dans mon exemple j’ai pris le fichier officiel de Facebook-Lite :
Une fois sélectionné, il va le masquer dans ce fichier :
Et voilà le travail, mon payload se situe dans le répertoire indiqué. Dès que j’aurai validé, il me demandera le type d’écoute (multi/handler) avec Metasploit :
Il va me lancer Metasploit avec l’écoute dans une nouvelle invite :
À ce stade, je déplace mon payload vers le répertoire : /var/www/html afin de pouvoir le télécharger depuis ma cible.
Un petit aperçu de mon Android :
Exploitation
Je lance un navigateur depuis l’Android puis je télécharge mon payload pour l’installer :
Après avoir téléchargé et installé je devrais obtenir mon shell meterpreter :
Bingo !!! ça fonctionne. Immédiatement j’essaie d’escalader les privilèges :
NB : je bascule vers un shell en tapant shell
su
En validant depuis la cible, je m’aperçois que je suis root :
Super !! j’ai tous les droits sur mon Android. Finalement je me dis que c’est trop puissant quand même.
Bonus
Une petite visite approfondie des répertoires de ma cible s’impose, afin de vérifier si ce que je vois sur mon shell est équivalent sur la cible :
C’est top ! tout concorde bien 😉.
Petite astuce, si je souhaite revenir sur mon shell meterpreter j’utilise la combinaison ctrl+z de mon clavier et j’accepte avec y (yes).
Je vérifie avec la commande sysinfo si ça fonctionne.
Conclusion
Alors ? oui je sais c’est assez sympa comme outil, mais n’oubliez pas qu’il faut avoir certaines connaissances de base de Linux, des réseaux etc afin de comprendre ce que vous faites. Sinon vous serez rapidement boqués.
Voilà, j’espère que c’était fun pour vous aussi ! je vous dis à très vite PEACE !!
No responses yet