jueves, 7 de abril de 2011

SLAAC attack: el "hombre en el medio" de IPv6

Investigadores de InfoSec Institute han descubierto una nueva forma de robar el tráfico de una red interna gracias a la configuración por defecto de IPv6 en Windows y MacOS X. Se trata de una especie de hombre en el medio, pero mucho más sencillo que las técnicas habituales en IPv4 (por ejemplo arp-spoofing). Al ataque se le ha llamado SLAAC, pero no se trata de un 0 day, como proclaman.

Obtener y redirigir el tráfico de una red interna hacia una máquina controlada por un atacante es una técnica conocida en el mundo de IPv4. Envenenar la caché ARP de los sistemas, es uno de los métodos más empleados. Ahora, el ataque SLAAC consigue el un efecto parecido pero de forma más "limpia".

En qué consiste

El atacante debe introducir un router (o algún dispositivo que actúe como tal, puede ser su propio ordenador) en la red interna con dos interfaces (virtuales o no): una de cara a la red interna, que soporte solamente IPv6 y otra con la conexión a Internet (solamente IPv4). En esos momentos existirá una red adicional IPv6, pero el atacante no controlará el tráfico. El intruso comenzará a enviar RA (router advertisements, anuncios de rutas), que es una especie de DHCP para IPv6. El objetivo es que el tráfico pase a través de la interfaz IPv6 sin que los clientes noten nada y esto se consigue gracias a una especificación obsoleta.

NAT-PT es un mecanismo que permite traducir de IPv4 a IPv6 y viceversa para que dispositivos que soporten una u otra versión puedan comunicarse. Un protocolo ideado para facilitar la migración entre redes que fue abandonado en 2007 porque resultaba demasiado complejo, contenía demasiados errores. El método es definir en el router un prefijo IPv6 e incrustar en los últimos 32 bits una dirección IP versión 4, que según el ataque previsto, debe coincidir con un servidor DNS del propio atacante, situado en la interfaz IPv4 del router (en Internet). Si se configura adecuadamente ese router del atacante para que se encargue de traducir (a través de NAT-PT) las direcciones IPv6 de las víctimas a IPv4, se consuma el ataque, engañando al usuario para que crea que su servidor DNS es el del atacante.

El siguiente paso es hacer que los sistemas operativos usen la red IPv6 (y sus DNS) creada paralelamente... y que lo hagan rápido (si no responde a tiempo, se usaría el DNS legítimo). Esto se consigue de forma muy sencilla por dos razones: La primera es el uso de Application Layer Gateways (ALGs), que es necesario en NAT-PT para hacer NAT en protocolos "especiales" como FTP. La segunda es que los sistemas operativos modernos prefieren siempre utilizar IPv6 (se han diseñado así para, presumiblemente, facilitar la migración tan deseada que parece que nunca llega).

En resumen, la víctima utiliza sin darse cuenta el DNS del atacante para resolver direcciones y, por tanto, puede ser redirigido a cualquier página (que no use certificados) de forma transparente.

Por qué ocurre

Gracias a Stateless address autoconfiguration (SLAAC) los sistemas operativos como Windows y Mac OS X, preferirán usar IPv6 en una red siempre que sea posible. IPv6 está ideado para autoconfigurarse al máximo. Por tanto, obtendrán automáticamente información del router fraudulento introducido por el atacante sin que se note, y comenzarán a usar su servidor DNS fraudulento. Además, es poco probable que en una red exista algún router IPv6, por tanto el atacante no tendrá "interferencias".

Aunque en InfoSec proclamen que se trata de un 0 day, está lejos de la definición formal de ese concepto. Según ellos, se han puesto en contacto con Microsoft y comentan que valorarán el problema.

Ventajas e inconvenientes del ataque

Estos problemas con routers "rogue" ya son más que conocidos en entornos IPv4, e incluso en entornos IPv6 existe software para simularlo. Pero hasta ahora se tomaban más como una molestia que como un ataque. Esta prueba de concepto confirma un escenario y un método de "aprovechamiento" viable.

El ataque SLAAC tiene además una serie de ventajas. Por ejemplo, no es necesario alterar la red IPv4 de la víctima (ni la caché ARP de los equipos...), ni siquiera utilizar una dirección IP de esa red. Se aprovecha de forma limpia una funcionalidad (no un fallo) de los sistemas modernos: preferir IPv6 sobre IPv4.

El ataque también tiende a ser silencioso: la red IPv4 y por tanto, sus sistemas de defensa y monitorización "tradicionales", no son alterados.

Recomendaciones

Simplemente, como siempre, deshabilitar lo que no se utilice. En este caso, el soporte IPv6 desde las propiedades de red.



Sergio de los Santos
ssantos@hispasec.com


Más información:

SLAAC Attack – 0day Windows Network Interception Configuration Vulnerability
http://resources.infosecinstitute.com/slaac-attack/

No hay comentarios:

Publicar un comentario en la entrada