Si un atacante es capaz de ejecutar comandos directamente en su router puede:

  • Atacar su red interna y otros dispositivos conectados a ella.
  • Hacer una puerta trasera en el router instalando malware o conectándolo a la red de bots Mirai.
  • Escuchar el tráfico HTTP de un usuario.
  • Ejecutar comandos de forma remota en el router como un usuario root.
  • Apagar o reiniciar el dispositivo.
  • Robar las credenciales de la red Wi-Fi junto con el SSID (nombre) de la red.

La superficie de ataque es lo suficientemente grande como para hacer daño a muchos usuarios domésticos y empresas. Voy a describir algunos de esos escenarios en detalle para mostrar lo peligroso que es esta vulnerabilidad.

Cualquier atacante es capaz de emitir un comando en su router como un usuario root sin su conocimiento. Ocurre de forma transparente, sólo es necesario visitar un sitio web malicioso. Si no está monitoreando sus conexiones salientes no es posible detectar este tipo de actividad sin las herramientas adicionales.

El payload más simple para reiniciar el router de una persona que visita su sitio web:

El código se ejecuta cuando la imagen se carga desde el servidor externo (su router). No permite obtener el contenido de la respuesta sino que sólo activa un comando de forma remota.

Lectura de datos de forma remota desde tu router

Ejecutar un comando remoto no es complicado ya que no requiere obtener el contenido de la respuesta de vuelta al atacante. Recibir una respuesta de vuelta no es posible debido a las restricciones de la Política de Mismo Origen (SOP).

La Política de Mismo Origen es un modelo de seguridad tanto para los navegadores como para los plugins que funcionan en un navegador (es decir, Java, Flash o Silverlight). El objetivo principal de esta funcionalidad es bloquear el acceso al contenido de un sitio web desde el otro sitio web.

El acceso al contenido del sitio web se concede dependiendo del origen que se especifique para ambos. La tabla de verdad de los orígenes es la siguiente:

La Política de Mismo Origen (SOP) – comparando diferentes escenarios

* – Los navegadores IE/Edge no incluyen el número de puerto en el componente «origen» (más).

Si el sitio web «A» no tiene el mismo origen que el sitio web «B» entonces significa que no podemos leer el contenido de un sitio web «B» desde «A» y viceversa. Estamos asumiendo que el Cross-Origin Resource Sharing (CORS) no está habilitado para ningún servidor, lo cual es cierto para la configuración por defecto.

El dispositivo del router no tiene el mismo origen que el sitio web del atacante. Sin embargo, el atacante puede lograr esa comunicación con técnicas para saltarse la política de Mismo Origen. Incluso había vulnerabilidades en el propio mecanismo SOP:

  • CVE-2015-7188 – Trailing whitespace in IP address hostnames can bypass same-origin policy.
  • CVE-2016-1967 – Violación de la política de mismo origen utilizando performance.getEntries y la navegación del historial con la restauración de la sesión.
  • CVE-2016-1949 – Violación de la política de mismo origen utilizando Service Workers con plugins.

Saltar la Política de Mismo Origen es posible explotando un navegador/plugin vulnerable o utilizando la técnica llamada DNS Rebinding.

Ataque DNS Rebinding

El ataque DNS Rebinding permite leer datos de otro origen saltándose el mecanismo de Política de Mismo Origen. En el escenario más básico es posible reemplazar el registro DNS («A») de un dominio mientras el usuario está visitando el sitio web malicioso.

DNS Rebinding – diagrama

Si este ataque tuvo éxito entonces el atacante es capaz de leer cualquier respuesta de un comando ejecutado en el router remoto ( 192.168.1.1).

Datos sensibles en el lado del router

El atacante es ahora capaz de leer el contenido remoto de su router. Él puede emitir un comando nvram show que contiene todos los ajustes de configuración de su router como:

El comando mencionado devuelve una gran cantidad de datos sensibles. El atacante no sólo es capaz de leer los datos del router, sino que también puede establecer nuevos valores para esos ajustes. Esto significa que es capaz de:

  • Cambiar su contraseña de Wi-Fi.
  • Activar la gestión remota (netgear.com – documentación).
  • Desactivar el firewall.
  • Configurar la VPN a su ubicación deseada.
  • Actualizar la configuración de la nvram, cargará la configuración guardada después de reiniciar el dispositivo (nvram set http_passwd=test; nvram commit).
  • …y mucho más.

¿Cómo protegerse contra ese tipo de ataques?

No hay un método único y fácil para protegerse contra todas las variantes de este ataque. Yo recomendaría desactivar el demonio httpd en el router y bloquear todas las conexiones entrantes a su LAN desde Internet.

Proteger contra el ataque de reenganche de DNS.

El mecanismo de protección estándar en el lado del servidor es comprobar la cabecera Host. En un escenario estándar cuando el navegador se conecta a facebook.com entonces envía la cabecera Host: facebook.com.

Si existe el ataque DNS Rebinding y el usuario visita attacker.com que intenta explotar el mecanismo SOP entonces el navegador se conecta a facebook.com y envía la cabecera Host: attacker.com. Si el servidor está configurado correctamente, debería bloquear esta solicitud, ya que la cabecera Host no coincide con la solicitud original.

El router Netgear no bloquea la conexión aunque la cabecera Host no sea válida y, por lo tanto, este ataque tiene éxito, lo cual es cierto para la mayoría de los routers.

Bloquee la conexión a su LAN desde Internet.

El método más sencillo es bloquear TODAS las conexiones desde Internet a su red local. Bloqueará cualquier tipo de comunicación desde el navegador a sus dispositivos locales como el router y otros ordenadores.

Para todos los que trabajan en Mac OS X es posible instalar la aplicación Little Snitch que es capaz de restringir el acceso a subredes definidas o direcciones IP específicas para cada aplicación o proceso del sistema.

La corrección de este problema no sólo le protegerá contra esta técnica de explotación, sino también contra futuras amenazas basadas en el ataque DNS Rebinding.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.