
Herramienta de prueba para el exploit Mikrotrick (CVE-2026-67276)
Un validador conductual automatizado diseñado para detectar la vulnerabilidad de omisión de autenticación de clave pública SSH en MikroTik RouterOS (CVE-2026-67276).
El script comprueba si una falla de validación incompleta en el servicio SSH permite la autenticación estableciendo un handshake utilizando una firma falsificada que coincide únicamente con el módulo de la clave pública objetivo.
CVE-2026-67276 se origina en una verificación incompleta de la clave pública RSA dentro del manejador del daemon SSH de RouterOS. Al procesar una solicitud de autenticación de clave pública de un cliente, las versiones afectadas comparan únicamente el tipo de clave y el módulo público RSA ($n$), omitiendo la validación del exponente público ($e$).
Un operador que posea la clave pública autorizada configurada para el usuario objetivo puede falsificar una carga útil de inicio de sesión. Al enviar un blob de clave efímera donde el exponente se establece en $1$ ($e=1$) junto con el módulo autorizado válido, se puede pasar una firma matemáticamente predecible que coincide con la estructura exacta que el verificador espera. Esto omite la autenticación por completo sin poseer ni necesitar la clave privada correspondiente.
ssh-rsa legítimo.ssh-rsa, rsa-sha2-256 o rsa-sha2-512).El validador requiere Python 3 y la librería paramiko para la construcción personalizada de mensajes SSH.
pip install paramiko
python3 ssh_modulus_forge_check.py -H <IP_OBJETIVO> -u <NOMBRE_USUARIO> -k <RUTA_A_CLAVE_PUBLICA_AUTORIZADA>
| Flag | Descripción | Predeterminado |
|---|---|---|
-H, --host | Dirección IP o nombre de host del objetivo. | Requerido |
-p, --port | Número de puerto SSH del objetivo. | 22 |
-u, --user | Nombre de usuario objetivo a validar. | Requerido |
-k, --pubkey | Ruta al archivo .pub legítimo vinculado a la cuenta objetivo. | Requerido |
--sig-alg | Forzar tipo de firma (ssh-rsa, rsa-sha2-256, rsa-sha2-512). | auto |
--exec | Comando remoto a ejecutar como prueba de acceso tras el éxito. | None |
--timeout | Tiempos de espera de conexión de red y autenticación en segundos. | 10 |
python3 ssh_modulus_forge_check.py -H 192.168.88.1 -u admin -k id_rsa.pub --exec "/system resource print"
Para proteger los dispositivos vulnerables, asegúrese de que las instalaciones de RouterOS se actualicen a las versiones corregidas de inmediato. Si no se puede programar el parcheo de forma nativa, restrinja el acceso administrativo al servicio aplicando reglas de firewall IP localizadas (/ip firewall filter) o utilizando la gestión de servicios de RouterOS (/ip service) para limitar las direcciones de origen permitidas.
Esta implementación está destinada únicamente a la verificación conductual defensiva, la auditoría de credenciales y la validación de cumplimiento de parches en redes autorizadas.