Evil FOCA: Ataque SLAAC (4 de 4)
Para esta última parte he querido guardar solo un ejemplo de mantenimiento de sesión vía man in the middle en este entorno de red IPV6 - entre la víctima y la Evil FOCA - e IPv4 - entre la Evil FOCA y el servidor de Internet.
Mantenimiento de sesión web: El método POST
Para ello, he elegido un sitio que permite autenticar sin HTTP-s para que sea todo más rápido, como es El Otro Lado, y me he conectado desde la máquina de la víctima. Recordad que esta máquina tiene una dirección de vínculo local en IPv4 y la configuración de IPv6 le ha llegado vía SLAAC.
En este entorno, la víctima introduce su usuario y contraseña, y lo envía por la red al atacante. Será el atacante el que se encargue de traducir las peticiones IPv6 a peticiones IPv4. Si capturamos el tráfico de red en la máquina donde está corriendo la Evil FOCA y buscamos las peticiones POST que se están generado, podremos ver que hay dos POST (y un par de retransmisiones).
La primera petición es el POST que genera el proceso de login en la página web de ejemplo. Este proceso genera dos paquetes totalmente distintos. El primero de ellos, entre la víctima y la máquina de la Evil FOCA va sobre el protocolo IPv6, tal y como se puede ver en las direcciones origen y destino. El segundo de ellos va sobre IPv4, entre la máquina de la Evil FOCA y el servidor web en Internet al que se está conectando. Por supuesto, como la petición va en HTTP, se pueden ver todos los datos que se transmiten, por lo que se puede leer el usuario y la contraseña.
La segunda petición POST que se ve es la de safebrowsing del navegador web, y como en el caso anterior se puede observar cómo se está produciendo la doble petición por la red IPv6 y la red IPv4.
Mantenimiento de sesión web: Las cookies
Por supuesto, a la hora de responder el proceso es inverso. Desde la máquina de Evil FOCA se tienen las dos conversaciones, así basta con hacer un Follow TCP Stream del fujo de la sesión IPv4 o IPv6 - en este caso se ha hecho de IPv6 - para ver cómo la víctima envía las credenciales, y como el servidor contesta con todas las cookies necesarias para el mantenimiento normal de una sesión.
Esto conlleva a que el usuario tenga una experiencia normal, sin saber que está siendo controlada su conexión, y que está navegando por Internet usando IPv6, tal y como se puede ver en la siguiente imagen.
Por motivos obvios, Evil FOCA en un entorno Bridging HTTP/HTTP-s entregará las cookies al cliente sin el flag Secure, para poder mantener los mismos resultados en sitios web que sólo den servicio por HTTP-s, pero eso os lo contaré en un artículo aparte.
Para acabar
De momento os he subido las diapositivas que utilicé en la charla de RootedCON/Troopers/UAH a mi SlideShare, y esta semana seguramente tengáis publicada ya la versión alpha de Evil FOCA para que esta Semana Santa hagáis muchas pruebas.
Saludos Malignos!
Mantenimiento de sesión web: El método POST
Para ello, he elegido un sitio que permite autenticar sin HTTP-s para que sea todo más rápido, como es El Otro Lado, y me he conectado desde la máquina de la víctima. Recordad que esta máquina tiene una dirección de vínculo local en IPv4 y la configuración de IPv6 le ha llegado vía SLAAC.
Figura 17: Conexión a una web con usuario y contraseña |
En este entorno, la víctima introduce su usuario y contraseña, y lo envía por la red al atacante. Será el atacante el que se encargue de traducir las peticiones IPv6 a peticiones IPv4. Si capturamos el tráfico de red en la máquina donde está corriendo la Evil FOCA y buscamos las peticiones POST que se están generado, podremos ver que hay dos POST (y un par de retransmisiones).
Figura 18: Envío de peticiones POST entre víctima, Evil FOCA y Servidor Web de Internet |
La primera petición es el POST que genera el proceso de login en la página web de ejemplo. Este proceso genera dos paquetes totalmente distintos. El primero de ellos, entre la víctima y la máquina de la Evil FOCA va sobre el protocolo IPv6, tal y como se puede ver en las direcciones origen y destino. El segundo de ellos va sobre IPv4, entre la máquina de la Evil FOCA y el servidor web en Internet al que se está conectando. Por supuesto, como la petición va en HTTP, se pueden ver todos los datos que se transmiten, por lo que se puede leer el usuario y la contraseña.
La segunda petición POST que se ve es la de safebrowsing del navegador web, y como en el caso anterior se puede observar cómo se está produciendo la doble petición por la red IPv6 y la red IPv4.
Mantenimiento de sesión web: Las cookies
Por supuesto, a la hora de responder el proceso es inverso. Desde la máquina de Evil FOCA se tienen las dos conversaciones, así basta con hacer un Follow TCP Stream del fujo de la sesión IPv4 o IPv6 - en este caso se ha hecho de IPv6 - para ver cómo la víctima envía las credenciales, y como el servidor contesta con todas las cookies necesarias para el mantenimiento normal de una sesión.
Figura 19: Las cookies de la sesión capturadas y enviadas por Evil FOCA |
Esto conlleva a que el usuario tenga una experiencia normal, sin saber que está siendo controlada su conexión, y que está navegando por Internet usando IPv6, tal y como se puede ver en la siguiente imagen.
Figura 20: Sesión autenticada |
Por motivos obvios, Evil FOCA en un entorno Bridging HTTP/HTTP-s entregará las cookies al cliente sin el flag Secure, para poder mantener los mismos resultados en sitios web que sólo den servicio por HTTP-s, pero eso os lo contaré en un artículo aparte.
Para acabar
De momento os he subido las diapositivas que utilicé en la charla de RootedCON/Troopers/UAH a mi SlideShare, y esta semana seguramente tengáis publicada ya la versión alpha de Evil FOCA para que esta Semana Santa hagáis muchas pruebas.
Saludos Malignos!
***********************************************************************************
***********************************************************************************
4 comentarios:
Te dejaste la password en la pantalla de wireshark, no vale con tapar el texto chema...esta en el hex!! hasta los mas lammers saben que se puede desencriptar desde ahi!
@Anónimo, sí, es cierto, la cree para la prueba 5 minutos antes y pasé mucho de ella. Lo cierto es que se me pasó... ya ves... soy humano. Pero lo más importante de todo... ¿tú de verdad crees que tengo cuenta en El otro lado? }:))
Chema, felicidades y saludos desde mexico, estoy experimentando con un windows 7 haciendo un mitm a una windows xp, solo curiosidad, dentro de la misma red consigo hacer un ping entre las 2 maquinas, solo que al accedee a internet me sigue mostrando en xp conexciones https, osea veo que algo hago mal, segun yo entiendo lo que hara la foca es ser el puente y quitar ese https, o estoy equivocado? Ya instale en la xp el protocolo ipv6 y todo correcto, que hago mal? Saludos }:3
Hola chema saludos desde Guatemala admiro tu trabajo como hacker
Publicar un comentario