Seguridad

Vulnerabilidades en routers ASUS

Se han dado a conocer múltiples vulnerabilidades en el firmware ASUSWRT de routers ASUS que podrían permitir adivinar el token de sesión, eludir restricciones de seguridad, obtener los credenciales del administrador y ejecutar código arbitrario sin necesidad de autenticación.

 

En total se trata de cuatro vulnerabilidades diferentes que explicaremos a continuación:

* CVE-2017-15654: Tokens de sesión predecibles

La primera de las vulnerabilidades se encuentra en la implementación de la función que genera el token de sesión para un usuario autenticado, que usa la función ‘rand’ para generar números aleatorios usando como semilla el reloj del dispositivo. Esto podría permitir a un atacante adivinar un token sabiendo aproximadamente el momento en el administrador ha iniciado sesión.

Para poder aprovechar esta vulnerabilidad es necesaria la interacción del administrador del dispositivo (debe iniciar una sesión en el router).

* CVE-2017-15653: Validación insuficiente de la dirección IP de usuario autenticado

El segundo de los problemas de seguridad consiste en la de falta de validación de la dirección IP del usuario autenticado cuando existe un token de sesión (es posible obtenerlo explotando la vulnerabilidad anterior y engañando al administrador para que inicie sesión). Esto podría permitir evitar restricciones de seguridad usando el token de sesión y un user-agent especial ‘asusrouter-asusrouter-asusrouter-asusrouter’.

PoC CVE-2017-15653

* CVE-2017-15656: Contraseñas almacenadas en texto plano

Una tercera vulnerabilidad es debida al almacenamiento de las contraseñas en texto plano en la memoria NVRAM del dispositivo. Lo que permitiría obtener las credenciales del administrador ejecutando el comando ‘nvram show’ desde una sesión telnet o descargando un fichero con un volcado del contenido de la memoria y decodificándolo (ver la siguiente vulnerabilidad CVE-2017-15655).

Este fallo no ha sido solucionado por el momento. ASUS ha declarado que lanzará una actualización de ASUSWRT en febrero de este año en la que la NVRAM estará cifrada.


* CVE-2017-15655: Desbordamientos de memoria en el servidor HTTPd

Existen múltiples desbordamientos de memoria en cabeceras HTTP (como por ejemplo ‘host’) que podrían ser aprovechados por un usuario no autenticado para ejecutar código remoto con permisos de administrador. Este código se ejecutaría cuando el administrador visita determinadas páginas de la interfaz del router (por ejemplo, la pestaña de herramientas de red).

Siguiendo en la línea de las anteriores vulnerabilidades, se propone la siguiente prueba de concepto que realizaría un volcado de la memoria a un fichero descargable posteriormente (en el ejemplo ‘nvram.css’).

PoC CVE-2017-15655

Por último, existe una funcionalidad que permite a un usuario no autenticado obtener información sobre las sesiones actuales (si hay alguien conectado, quién es y su dirección IP). Esto, aun sin ser una vulnerabilidad, permitiría una explotación más fácil de los puntos anteriores.

PoC

Para terminar, Blazej Adamczyk alias ‘br0x’, el investigador de seguridad que descubrió estas vulnerabilidades ha liberado un exploit que las aprovecha para obtener un token válido y extraer las credenciales de acceso al dispositivo.

Estas vulnerabilidades fueron reportadas a ASUS en Septiembre de 2017 y han sido corregidas (excepto CVE-2017-15656) en la versión 3.0.0.4.382.18495 de ASUSWRT, aunque no se habían hecho públicas hasta el momento para permitir una ventana temporal para la la actualización de los dispositivos. Sin embargo existen routers afectados que se encuentran fuera de su ciclo de vida y no recibirán las actualizaciones de firmware necesarias (por ejemplo, los modelos RT-N65R y RT-N65U). En esos casos se recomienda restringir a la LAN el acceso a la administración del dispositivo.

Juan José Ruiz
jruiz@hispasec.com

Más información:

ASUS routers – part I (CVE-2017-15655):
http://sploit.tech/2018/01/16/ASUS-part-I.html


ASUS routers – part II (CVE-2017-15653, CVE-2017-15654, CVE-2017-15656):






Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.