
ssh-mitm v6.0.0
SSH-MITM - auditorías SSH simplificadas
SSH-MITM - auditorías ssh simplificadas
Una herramienta interactiva de intercepción SSH para auditorías de seguridad autorizadas.
Intercepta sesiones, monitoriza el tráfico en vivo, inyecta comandos y manipula transferencias de archivos — todo en tiempo real.
Aviso legal: SSH-MITM está destinado únicamente a auditorías de seguridad autorizadas, pruebas de penetración e investigación. No lo utilices contra sistemas que no poseas o para los que no tengas permiso escrito explícito para probar. La intercepción no autorizada del tráfico SSH puede ser ilegal en tu jurisdicción.
🎓 ¿Nuevo en SSH-MITM? Comienza con el tutorial interactivo
ssh-mitm tutorial
Abre una guía paso a paso basada en navegador — no se necesita servidor de destino. Cinco capítulos siguen una evaluación autorizada de Logfile Inc., que cubren intercepción de contraseñas, autenticación de clave pública, transferencias SFTP, ejecución de comandos y duplicación de sesiones en vivo.
Inicio rápido
Colocado entre un cliente y su servidor SSH, SSH-MITM intercepta la conexión — terminando ambos extremos de forma independiente y reenviando todo el tráfico mientras otorga al auditor visibilidad y control totales:
1. Instalación
SSH-MITM no requiere instalación. Descarga el AppImage y estarás listo para empezar:
wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage
Para otras opciones de instalación (pip, Flatpak, Snap) consulta la guía de instalación.
⚡ Obtén la última versión
La versión de PyPI puede ir con retraso. Instala directamente desde GitHub para obtener el tutorial interactivo y todas las mejoras recientes:
pip install git+https://github.com/ssh-mitm/ssh-mitm.git
2. Inicia SSH-MITM
Apunta SSH-MITM a tu host de destino — usa un sistema que estés autorizado a probar:
./ssh-mitm-x86_64.AppImage server --remote-host <target-host>
3. Enruta una conexión de cliente
Haz que el cliente SSH se conecte a través de SSH-MITM en el puerto 10022:
ssh -p 10022 user@mitm-host
SSH-MITM intercepta la sesión y registra las credenciales inmediatamente:
INFO Remote authentication succeeded
Remote Address: <target-host>:22
Username: alice
Password: secret
Agent: no agent
4. Conéctate a la sesión en vivo
Para cada conexión interceptada, SSH-MITM abre un shell espejo en un puerto local:
INFO ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1
Conéctate a él desde una terminal separada:
ssh -p 34463 127.0.0.1
El shell espejo refleja la sesión en tiempo real. El auditor puede observar la actividad del usuario e inyectar comandos de forma independiente, sin afectar la conexión original.
Qué puede hacer SSH-MITM
| Característica | Descripción |
|---|---|
| Monitorización interactiva de sesiones | Conéctate a cualquier sesión interceptada mediante un shell espejo — observa e inyecta comandos en tiempo real |
| Manipulación de transferencias de archivos | Intercepta transferencias SCP/SFTP, almacena copias o reemplaza archivos sobre la marcha |
| Intercepción de reenvío de puertos | Intercepta túneles TCP y reenvío dinámico SOCKS 4/5 |
| Suplantación de tokens FIDO2 | Intercepta la autenticación con tokens de hardware mediante el ataque de autenticación trivial (información de OpenSSH) |
| Intercepción de autenticación | Captura contraseñas; acepta la misma clave pública que el servidor de destino y recurre automáticamente a la autenticación por contraseña |
| Monitorización de sesiones MOSH | Intercepta y descifra sesiones UDP MOSH (Mobile Shell); visualiza la terminal en vivo mediante un emulador VT100/ANSI integrado |
| Remoting de PowerShell (PSRP) | Intercepta sesiones de remoting de PowerShell sobre SSH; registra comandos, salidas, errores y transiciones de estado; escribe transcripciones por sesión |
| Auditoría de clientes | Identifica vulnerabilidades conocidas en clientes SSH que se conectan solo a partir del comportamiento de negociación de claves |
| Soporte de plugins | Extiende y personaliza todo el comportamiento de intercepción con plugins |
Casos de uso
- Pruebas de penetración — audita activamente clientes y servidores SSH en compromisos autorizados; intercepta, manipula y reproduce sesiones
- Investigación de seguridad — analiza el comportamiento de clientes SSH, flujos de autenticación y debilidades a nivel de protocolo de forma interactiva
- Entornos de formación — demuestra técnicas MITM y secuestro de sesiones en configuraciones de laboratorio controladas
- Análisis de malware — monitoriza e interactúa con sesiones SSH de clientes sospechosos en entornos aislados
Investigación de seguridad
SSH-MITM se desarrolló originalmente para investigar una debilidad fundamental en cómo los clientes SSH manejan la autenticación con tokens de hardware. La investigación reveló que los tokens FIDO2 — a menudo utilizados como segundo factor — pueden ser suplantados mediante una técnica llamada autenticación trivial.
El ataque explota el hecho de que los clientes SSH pueden ser forzados a un método de autenticación trivial — como keyboard-interactive sin avisos — que efectivamente concede acceso sin ninguna autenticación real. Esto elude por completo la protección del token de hardware, ya que el token nunca es desafiado. SSH-MITM puede simular esto contra cualquier cliente que no lo rechace explícitamente:
ssh-mitm server --enable-trivial-auth
Operando desde la posición de Man-in-the-Middle es posible observar el comportamiento del cliente SSH que es invisible desde cualquiera de los extremos. SSH-MITM se ha utilizado para descubrir 7 vulnerabilidades previamente desconocidas en software SSH ampliamente desplegado:
Última: CVE-2026-60000 — La autenticación GSSAPI de OpenSSH violaba RFC 4462 de maneras que permitían a un atacante eludir
MaxAuthTriespor completo, causando una denegación de servicio previa a la autenticación. La misma causa raíz también produjo un oráculo de validez de nombre de usuario y un bloqueo del proceso privilegiado, todo corregido en OpenSSH 10.4.
Charla en DeepSec 2021 — explicación completa del ataque:
Haz clic para ver en vimeo.com
Descargar diapositivas de la presentación
No todos los resultados de esta investigación son vulnerabilidades — consulta Contribuciones ascendentes para ver las correcciones de endurecimiento contribuidas directamente a OpenSSH.
Contribuciones
¡Las contribuciones son bienvenidas! Por favor, lee CONTRIBUTING.md para obtener detalles sobre la configuración de desarrollo, el estilo de código y cómo enviar una solicitud de extracción.
Contacto
- Correo electrónico: [email protected]
- Rastreador de incidencias

