
Vulnerabilidad de denegación de servicio en MikroTik RouterOS
Una vulnerabilidad en MikroTik RouterOS permite a un atacante remoto no autenticado forzar el reinicio de un router. Esto se logra enviando un paquete de 1 byte a la dirección IPv6 de RouterOS utilizando el protocolo IP 97. Todas las versiones de RouterOS con soporte para EoIPv6 son probablemente vulnerables a este ataque. Este ataque requiere que el sistema objetivo tenga IPv6 habilitado y al menos una interfaz de túnel presente.
ENTRADA del protocolo IP 97.EoIPv6 (Ethernet sobre IPv6) es el protocolo de túneles de Capa 2 de MikroTik RouterOS. El protocolo EoIPv6 encapsula tramas Ethernet en paquetes EtherIP modificados (protocolo IP 97).
La implementación de EoIPv6 de MikroTik utiliza 12 bits reservados de EtherIP para almacenar el ID del túnel. MikroTik también intercambió los primeros 4 bits y los segundos 4 bits del encabezado EtherIP.
Para recuperar el ID del túnel y validar el paquete, RouterOS intercambiará los bits como se describió anteriormente en los paquetes recibidos en el protocolo 97. El proceso ocurre mientras haya interfaces de túnel presentes en el sistema (incluso si están deshabilitadas). RouterOS no verifica el tamaño del payload durante el proceso. Por lo tanto, un paquete de un byte en el protocolo 97 lo romperá (ya que faltan el resto de bits necesarios para construir el ID del túnel).
En RouterOS, agregue una IPv6:
/ipv6 address add interface=ether1 address=fd00::1/64 advertise=no
Y un túnel (de cualquier tipo):
/interface ipip add remote-address=127.0.0.1
Ejecute el exploit (exploit.c en el repositorio):
./exploit fd00::1
RouterOS se reiniciará unos segundos después de ejecutar el exploit. Los siguientes registros se pueden ver después del reinicio:
jan/20/2018 10:28:36 system,error,critical router was rebooted without proper shutdown
RouterOS 6.39.3 (Solo correcciones de errores), 6.41 (Actual) y 6.42rc11 (Candidato a lanzamiento) fueron probados, y todos son vulnerables a este ataque al momento de escribir este texto. Es probable que esta vulnerabilidad también esté presente en versiones anteriores de RouterOS con soporte para EoIPv6.
Consulte este hilo en el foro de MikroTik.