Banda Ancha EU

Información independiente
sobre fibra, móvil y ADSL

hosting en interdominios

138

Routers domésticos pueden ser blanco fácil del ataque DNS rebinding

Un buen número de redes locales domésticas pueden estar en peligro por lo que se llama la técnica de "DNS rebinding" a la que son vulnerables todavía un buen número de routers habituales.

El ataque DNS rebinding es bastante sencillo de explicar y se conoce desde hace muchos años, pero en una conferencia que hará el experto en seguridad Craig Heffner titulada "Cómo hackear millones de routers" dentro del evento Black Hat de las Las Vegas a finales de este mes, se demostrará con la ayuda de una herramienta (que será publicada) que automatiza todo el proceso, lo fácil que resulta introducirse remotamente en la configuración de un router vulnerable y hacerlo como si estuviésemos trabajando en la red local de la víctima.

Como recordatorio, el servicio DNS (Domain Name System) es el que nos permite abstraernos de las direcciones IP a la hora de navegar por Internet, ya que es el que se encarga de traducir los nombres (p. ej.: bandaancha.eu) por su IP correspondiente, para luego establecer la comunicación con el servidor.

Cómo funciona el DNS rebinding

Para ello, el atacante se basa en el principio de Política de idéntico origen, empleando un dominio rebinding.pngpropio registrado (pongamos: www.atacante.net) y un servidor DNS que la misma persona configure.

A partir de ahora y resumiendo, cuando un usuario se conecte a la web www.atacante.net, ese servidor DNS responderá con la IP del servidor real, que nos enviará un código JavaScript malicioso. Con el segundo intento de acceso por parte de la víctima, el servidor DNS ahora responderá con que www.atacante.net se encuentra en una dirección IP privada y reservada para redes de área local (p.ej: 192.168.1.1). Así que el navegador se cree que para acceder a esa página web le da lo mismo conectar al servidor original en Internet, o al interno de su red.

En este momento, con la ayuda del código malicioso que hemos descargado anteriormente sin saberlo, se abre un agujero de seguridad en el que ha preparado el ataque tiene acceso total a nuestro servidor, pudiendo leer documentos, etc.

El router es el punto flaco de nuestra red local

Para ello, nuestro servidor privado objeto del ataque ha de tener ejecutándose un servidor web, algo que en una red doméstica no es muy habitual si hablamos de ordenadores, pero totalmente común si se trata de un router.

Vaya por delante que muchos están protegidos contra este tipo de ataques, pero sorprende la cantidad de modelos que todavía pueden ser objetivo de un fallo de seguridad que ya tiene más de 15 años de "vida".

De todos modos, es fácil imaginar los destrozos que puede ocasionar que alguien se nos entrometa en la configuración del router, ya que puede analizarnos toda la red local o redirigir el tráfico que generemos a través de unos servidores del hacker en cuestión para monitorizar e interceptar nuestras conexiones.

Varios routers famosos y firmwares de terceros afectados

En las primeras pruebas que se han realizado previas a la conferencia, se ve claramente cómo algunos fabricantes famosos como Linksys con su más que conocido router WRT54G es vulnerable, u otros fabricantes como Belkin tienen algún modelo desprotegido, así como los firmwares programados por terceros y que muchos instalan en sus routers como el DD-WRT y OpenWRT corren peligro.

Los resultados han sido recopilados en la tabla siguiente por la web ArsTechnica nos hace una idea en general. Los marcados como "YES" en la última fila son los vulnerables.

routersvulnerables.png

Las soluciones son sencillas

¿Estamos desprotegidos ante este tipo de ataques si tenemos algún router de los marcados como indefensos? No.

La primera solución es cambiar la contraseña de acceso al panel de configuración del router. Muchos no la cambian por comodidad o por desconocimiento, y de ser atacados, no es difícil adivinar que "1234" o "admin" forman parte del usuario y contraseña.

Otra opción, quizás un poco más avanzada, es modificar la dirección IP interna del router por otra diferente a la que pone por defecto, que normalmente es 192.168.1.1 o 192.168.1.254. Al hacerlo, cuando solicitemos por segunda vez la web maligna, nos responderá el servidor DNS con una IP privada que será fácil que no ejecute un servidor web.

En ambos casos, no es difícil hacer los cambios siguiendo la ayuda del manual de instrucciones.

Los comentarios más recientes se muestran primero. Haz click sobre un comentario para desplegar/plegar.
  • Comentar que los desarrolladores de DD-WRT notan el hecho de…

    Comentar que los desarrolladores de DD-WRT notan el hecho de que el DD-WRT v24 te obliga a cambiar la contraseña del router para poder usarlo nada más instalarlo por lo que primero hay que poder hackear una máquina de la red interna para poder sacar la información del usuario y contraseña del router para poder poner en práctica este exploit.

    Una vez sabida la contraseña del router ya no se puede considerar un bug del propio router. Sería como decir que "sudo rm -rf /" es un bug de Unix porque sabiendo la contraseña permite cargarse el sistema operativo.

    El DNS rebinding en sí es una opción/parámetro del todo habitual en dnsmasq, no un bug, por lo que... vamos... que poner al DD-WRT, OpenWRT, etc en la lista de routers vulnerables es como decir que todos los routers que tienen funciones avanzadas son vulnerables a más cosas que los routers sin funciones avanzadas si previamente se consigue la contraseña del router. ¡No fastidies! ¡Menuda novedad! Primero habrá que conseguir la contraseña del router, ¿no? xD

    También comentar que partes del artículo original fueron escritos durante la época de Firefox 1.5 y 2 por lo que os podéis imaginar lo bien documentado y actualizado que está dicho artículo.

    Resumiendo: esto es más FUD que algo que se pueda poner en práctica.

  • BocaDePez BocaDePez
    6

    Yo eso es lo que hice la primera vez que tuve router (sigo…

    Yo eso es lo que hice la primera vez que tuve router (sigo con el mismo, uno negro de Telefónica). Cambié la Ip del router, ocualte el nombre de la conexión y desactive el DHCP para que todos los dispositivos que se conecten tenga que poner la IP, puerta de enlace y tal a mano.

    Me costó bastante pues era mi primera vez con estos temas xD

  • BocaDePez BocaDePez
    6

    Bueno, la verdad es que no me cuadra demasiado. Para empezar…

    Bueno, la verdad es que no me cuadra demasiado. Para empezar las peticiones DNS son cacheadas, después la segunda respuesta tiene que apuntar a algún equipo interno existente que tenga un servidor web vulnerable (o al router) y tercero la vulnerabilidad tiene que ser via javascript que, definitivamente no permite "hacer de todo", de hecho lo único que puede hacer es peticiones http al equipo interno/router. Así que con tener el router con una contraseña fuerte debería valer.

    Solo una opinión, byez!

    • BocaDePez BocaDePez
      6

      Hola Simplemente lo que deduzco de este articulo es que hay…

      Hola

      Simplemente lo que deduzco de este articulo es que hay que saber por donde navegas y sobre todo los scripts que instalas no porque vayas a una pagina de un server en concreto tienes que instalar todo lo que te pida.Hay que ser un poco conscientes en lo que haces y dobre todo lo que abres.Y referente a las soluciones no se pero es un poco de vagos que tu tengas un router y no cambies ni el pass ni la ip y lo dejes por defecto y mas con el soft cambiado del router pero bueno siempre hay gente que me sorprende.

      • Tienes un enlace a una web especialista en temas de seguridad…

        Tienes un enlace a una web especialista en temas de seguridad que trata el tema y ha realizado pruebas reales en las que ha conseguido acceder a los routers.

        No es una cuestión de opinión, son hechos demostrados.

        • BocaDePez BocaDePez
          6
          Pues me vas a permitir que siga opinando, cáscaras. En mi…

          Pues me vas a permitir que siga opinando, cáscaras. En mi anterior mensaje no he dicho que el ataque no sea posible, solo que estar protegido es tan sencillo como tener todos los servidores web que tienes en la red local protegidos con passwords fuertes. Eso es todo (para andar por casa).

          Por supuesto se pueden incorporar otras soluciones como DNS pinning (que evita que te cambien la respuesta de los DNSs con TTLs pequeños) o prohibir la ejecución de URLs externas contra máquinas internas... ambas implementables en el router/firewall y que requieren más conocimiento de causa.

          Pero para los mortales comunes, como un menda, basta con proteger todos los servicios web de la red local. Así el malicioso javascript no puede hacer nada el condenado.

          Byez!

  • BocaDePez BocaDePez
    6

    El problema ahí es el javascript y no comprobar la resolución…

    El problema ahí es el javascript y no comprobar la resolución del nombre y si corresponde a una ip privada (en concreto a la del router) pedir confirmación al usuario.

    En general javascript es un peligro. Se pueden enviar comandos a la impresora para que te imprima un spam y más lindeces sin complicarse demasiado.

    Para quien le interese que busque noscript para firefox, pero desactivar javascript también tiene sus inconvenientes.

      • BocaDePez BocaDePez
        6

        Ein?. Creo que no me has entendido. Javascript permite…

        Ein?. Creo que no me has entendido. Javascript permite demasiadas cosas como conexiones http. Vale que a lo largo de los años se le han incluido protecciones pero en mi opinión es un caballo de troya que en cualquier momento puede (como se ve) explotar. Es dificil de corregir: javascript tiene que permitir ciertas peticiones que son legítimas pero ¿como descartas las no legítimas?. No es tan simple. El problema al final, en mi opinión, es javascript y tiene una dificil solución porque a día de hoy es necesario.

  • Hombre, yo creo que la solución más sencilla y que ofrece más…

    Hombre, yo creo que la solución más sencilla y que ofrece más seguridad es cerrando el acceso al servidor web del router desde el exterior (sólo acceso desde la red local).

    • BocaDePez BocaDePez
      6

      Deberias volver a leer el articulo, despacito y sin prisa...

      Deberias volver a leer el articulo, despacito y sin prisa...

  • Una solucion tambien es poner las DNS en el sistema operativo…

    Una solucion tambien es poner las DNS en el sistema operativo y que no utilice las del router. Aparte de desactivar el acceso externo del router como ya han comentado.

  • BocaDePez BocaDePez
    6

    Un artículo muy interesante, peror como te comentan por ahi,…

    Un artículo muy interesante, peror como te comentan por ahi, esta un poco en el aire.

    Mas datos sobre el script, como y por que por el mero hecho de lanzar una peticion web me deja comprometido el acceso privilegiado a mi router.

    • BocaDePez BocaDePez
      6

      En este momento, con la ayuda del código malicioso que hemos…

      En este momento, con la ayuda del código malicioso que hemos descargado anteriormente sin saberlo, se abre un agujero de seguridad en el que ha preparado el ataque tiene acceso total a nuestro servidor, pudiendo leer documentos, etc.

      Podríais explicar "la magia" y no dejarlo tan en el aire. ¿Qué hace ese javascript para comprometer mi conexion con tan solo cambiar una entrada DNS por una ip de mi red?

      • 6

        Con el segundo intento de acceso por parte de la víctima, el…

        Con el segundo intento de acceso por parte de la víctima, el servidor DNS ahora responderá con que www.atacante.net se encuentra en una dirección IP privada y reservada para redes de área local (p.ej: 192.168.1.1). Así que el navegador se cree que para acceder a esa página web le da lo mismo conectar al servidor origina en Internet, o al interno de su red.

        Si el navegador cree que esa página está en red local, el antivirus/cortafuegos le otorgará el nivel de seguridad para ese medio, que suele ser "confiable" o "de confianza". Por tanto, no supervisará su contenido, permitiendo la ejecución de cualquier código de esa página en tu navegador, y por ende en tu ordenador.

1