lunes, marzo 11, 2013

Evil FOCA: Ataque SLAAC (1 de 4)

Pasada ya la RootedCON estamos compilando la versión alpha de la Evil FOCA para ponerla disponible pero antes aprovecho para contaros cómo funciona uno de los ataques que ya os describí tiempo atrás en el artículo de Man in the middle en redes IPv4 a través de IPv6.

El ataque

El objetivo del ataque es poder hacer un man in the middle cuando un usuario se conecta a Internet a un servidor que no tiene soporte para IPv6 y que por lo tanto es necesario conectarse usando IPv4. Para poder realizarlo, el objetivo de la Evil FOCA será configurar correctamente el soporte IPv6 para la víctima y buscar un entorno en el que IPv4 deje de funcionar correctamente.

Figura 1: Esquema de conexión IPv4 a través de IPv6

Una vez desconfigurado IPv4 y configurado IPv6, será necesario hacer el cambio de la red IPv6 a la red IPv4 con Evil FOCA, configurando los servicios NAT64 y DNS64 para que el equipo no pierda conectividad. 

Prueba de Concepto con RootedCON.es

Para entender el ataque, primero os voy a explicar cómo se hace, y luego os contaré todo lo que está pasando por debajo, con las capturas de tráfico de red. Sin embargo, para que quede claro lo que está pasando, antes podemos echar un vistazo a los registros DNS de RootedCON, donde se puede ver que no hay direcciones IPv6 asociadas a él.

Figura 2: www.roootedcon.es no tiene direcciones IPv6

Una vez terminemos el ataque vamos a conseguir que el cliente navegue a esta web usando IPv6 en su red local, a través de un man in the middle. Vamos a verlo.

1) Desconfigurar IPv4

Para esta prueba la forma más sencilla es buscar un equipo conectado a Internet por un router con soporte sólo para IPv4 que tiene un servicio DHCPv4. En este entorno se conseguido que el servidor DHCPv4 no le de ninguna dirección IPv4 ni puerta de enlace haciendo un ataque Rogue DHCPv4 o DHCP ACK Injector que configure al equipo víctima con una dirección IPv4 de vínculo local y sin puerta de enlace o haciendo un ataque D.O.S. al servidor DHCPv4 para consumir todo el rango de direcciones IPv4 que tenga para asignar.

Figura 3: Equipo víctima con direcciones IPv4 e IPv6 de vínculo local

En cualquiera de los dos casos, lo que se obtendrá es una configuración en la víctima que tenga en el protocolo IPv4 solo dirección de vínculo local (169.254.X.X) y sin puerta de enlace, tal y como se puede ver en este entorno.

2) Configurar IPv6

Para conseguir que el equipo tenga IPv6 funcionando sólo es necesario que el cliente tenga una puerta de enlace que apunte a la dirección IPv6 del atacante con Evil FOCA. Para ello, con solo enviar un paquete SLAAC se consigue que la víctima se ponga dirección IPv6 con conectividad con la Evil FOCA y la puerta de enlace apuntando a la máquina del atacante. Para ello primero hay que encontrar el equipo víctima entre la lista de la red.

Figura 4: Descubrimiento de red con Evil FOCA

Después se selecciona como objetivo del ataque SLAAC y se selecciona el prefijo de red necesario para que la víctima se configure la dirección IPv6 que le dará salida a Internet.

Figura 5: Selección de víctima

Se lanza el ataque con el botón Start y la víctima recibirá su paquete RA para configurarse la configuración necesaria.

Figura 6: Ataque SLAAC lanzado

3) El DNSv6

En este ataque no es necesario configurar el servidor DNS por IPv6, ya que por defecto, en el momento en que una máquina tiene puerta de enlace para salir de la red, buscar los servidores DNSv6 en las direcciones de los servidores DNS Autodiscovery, tal y como se puede ver en la imagen.

Figura 7: Dirección IPv6 configurada por SLAAC, Gateway IPv6 en dirección de atacante y servidores DNSv6 Autodiscovery configurados

Por supuesto, como las direcciones de los servidores DNS Autodiscovery están fuera de la red de la víctima, todas las peticiones pasarán por la puerta de enlace, es decir, la Evil FOCA, donde serán correctamente procesadas para que tenga conectividad.

4) La prueba

A partir de ese momento, el cliente tiene configurado toda la conexión, y basta con abrir el navegador y pedir la URL requerida. Evil FOCA hará el resto.

Figura 8: Navegando a Rootedcon.es sin soporte para IPv4

Como se puede ver en la captura, la máquina víctima no tiene configurado IPv4, pero aún así está navegando a un sitio con IPv4, gracias al trabajo que hace la Evil FOCA. En la siguiente parte os explicaré en detalle que está pasando por debajo.

Saludos Malignos!

***********************************************************************************
***********************************************************************************

6 comentarios:

  1. pues estoy intentando hacerlo entre 2 pc que tengo en casa ya que me apetece aprender esto ya que me parece muy interesante,pero se me complica el primer punto del ataque(el de desconfigurar la puerta de enlace ipv4)por mas que intento con evil foca DHCP jack injector o un ataque d.o.s,hago en la victima ipconfig y sigo viendo la puerta de enlace,segun lo que explicas(y e visto videos tuyos para intentar comprenderlo mejor)con el ataque deberia de "desaparecer su puerta de enlace" ¿Me podrias explicar que es lo que hago erroneo? y siento la chapa del mensaje,saludos!

    ResponderEliminar
  2. Haber yo tengo un problema, yo tengo 15 años y desde mas pequeño me han interesado estas cosas, pero tengo un proble con el ataque SLAAC haber yo habro evil foca y arrastro la direccion IPV6 de mi victima al ataque SLAAC, y pulso el boton start, me voy a la maquina victima y habro una cmd y por ejemplo hago un ping a google, y la rspuesta me la da en IPV6 y no en IPV4 pero al navegar a una web HTTPS me sigue dando HTTPS y no HTTP... No se que estoy haciendo mal..si alguien me responde seria de gran ayuda.. Gracias :)

    ResponderEliminar
  3. Hola A todos!!!

    A mi me pasa lo mismo que a este chico de 15 años y no he sido capaz de saber que es lo que estoy (estamos haciendo mal). He visto que nadie le ha respondido y me uno a su petición para que alguien nos pueda ilustrar en que estamos haciendo mal y poder seguir con el aprendizaje de la herramienta de Evil Foca. Muchas gracias.

    ResponderEliminar
  4. Que tal, quisiera saber como se puede hacer si en la red ya se genera una IPV6, como se reemplaza por la que generamos ?

    ResponderEliminar
  5. Creo que la https deberia estar por ssl con evil foca, no se si lo cubra el programa o sigue trabajando dual. ?

    ResponderEliminar
  6. Creo que la https deberia estar por ssl con evil foca, no se si lo cubra el programa o sigue trabajando dual. ?

    ResponderEliminar