martes, marzo 12, 2013

Evil FOCA: Ataque SLAAC (2 de 4)

Como se ha podido ver en la primera parte de este artículo, tras tener un entorno con IPv4 configurado con sólo vínculo local y con IPv6 configurado con Puerta de enlace IPv6 y servidores DNSv6, lo que Evil FOCA hace es ofrecer los servicios de DNS64 y NAT64 preparados para que el ataque tenga éxito, vamos a ver el ejemplo de http://www.rootedcon.es por debajo.

DNS64

En este entorno Evil FOCA está interceptando todas las peticiones DNSv6 que pasen por su maquina, por ello no es necesario hacer nada especial cuando ya se ha conseguido por medio de SLAAC que las peticiones pasen por el equipo del atacante al ser éste la puerta de enlace.

Así, vaya la petición DNSv6 a un servidor de Internet, a un servidor configurado por DHCPv6 - como veremos más adelante - o a las direcciones de DNS Autodiscovery, Evil FOCA va a responder siempre con una dirección IPv6 a cualquier petición IPv6 que se haga desde la máquina de la víctima. Por ello, cuando desde el equipo se hace un ping a www.rootedcon.es, lo que se obtiene es un dirección IPv6 que contestará Evil FOCA.

Figura 9: www.rootedcon.es asociado a una dirección IPv6

Si echamos un ojo a una captura de red hecha con Wireshark en la máquina de Evil FOCA, veremos como el proceso es el siguiente:

Figura 10: Proceso de resolución de DNS de www.rootedcon.es
-  Primero la víctima envía a una dirección de DNS Autodiscovery la petición de resolver el registro AAAA de www.rootedcon.es. 
- La máquina de Evil FOCA hace un petición DNS de tipo A para resolver www.rootedcon.es a Internet usando IPv4.
- El servidor DNSv4 de Internet responde con la dirección IPv4 de www.rootedcon.es
- Evil FOCA genera una dirección IPv6 a partir de la dirección IPv4 que es la que entregará a la máquina de la víctima para que haga el resto de peticiones.
NAT64

Una vez que la máquina de la víctima tiene la dirección IPv6 asociada a www.rootedcon.es, la petición HTTP que hará el navegador será por IPv6. Todos los navegadores modernos vienen preparados por defecto para trabajar con IPv6 y el principal problema siempre suele ser el router de conexión a Internet, que no suele tener soporte para este tipo de redes o los servidores web en sí.

Figura 11: Configuración por defecto de resolución de registros AAAA en Mozilla Firefox

Por eso, una vez que se consigue que todos los hostname en Internet tengan asociada una dirección IPv6 - generada por la Evil FOCA - el resto es trabajo de escuchar la petición IPv6 desde la máquina de la víctima, solicitar la petición IPv4 a la dirección del hostname en Internet, escuchar la respuesta que llega encapsulada en IPv4 y entregarla a la víctima sobre IPv6

Figura 12: Solicitud HTTP pasando por el servicio NAT64

En la imagen superior se puede ver cómo la víctima hace la petición por IPv6 y cómo Evil FOCA la reenvía por la red IPv4.

El icono de red

Una de las características que tienen los equipos MS Windows es que muestran el icono con el estado de la red para que el usuario sepa si tiene conexión a la red o no. Esto, como ya os conté hace tiempo se hace con unas consultas DNS a servidores de Microsoft, y a pesar de que han cambiado un poco de Windows Vista a Windows 8, la filosofía es exactamente la misma. 

Figura 13: Detección de consultas DNS para saber si hay conexión a Internet

Evil FOCA detecta estas peticiones, y las responde como debe ser, para que en la máquina de la víctima aparezca el icono sin alerta, indicándole que tiene conexión a Internet, como debe ser.

Saludos Malignos!

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

2 comentarios:

  1. Muy buena explicación.Estoy impaciente para la parte 3 y 4.

    ¡Sigue asi!

    ResponderEliminar
  2. Chema, causas furor hasta en forocoches jajajaja!!!

    ResponderEliminar