Blog

Atacando WEP sin AP o ataque Caffe Latte

Hoy voy a hablar acerca de un ataque bastante conocido llamado Caffe Latte que fue expuesto por Vivek Ramachandran en 2007 para atacar una contraseña WEP.

/******************************

1. Teoría

2. Práctica

******************************/

La idea de escribir este Post no es ejecutar el programa como “script kiddies” sino entender como funciona del ataque teóricamente y luego usar una herramienta que lo automatice.

1. Teoría

El ataque se llama Caffe Latte porque es capaz de obtener la Password en un tiempo aproximado de 5 minutos; que a fín de cuentas es el tiempo que tardes en tomarte un café. Además por el tipo de ataque que es, una cafetería sería el lugar idóneo para realizarlo.

A diferencia de la mayoría de ataques wifi existentes, el ataque Caffe Latte se distingue del resto por realizarse mediante un ataque al cliente y no al Access Point típico.

La idea central sobre la que se apoya el ataque es que en el cifrado WEP el usuario tiene que autentiarse mientras que el Punto de Acceso NO. Esta falta de auntenticación mutua provoca que un atacante malicioso pueda suplantar un AP mediante la copia de ESSID (nombre) y BSSID (MAC address; necesario o no según la configuración del cliente) y llegue a emparejarse con el cliente para “hacer cosas”. Este hecho es impemsable en los protocolos WPA y WPA2 ya que en estos protocolos es necesaria la auntenticación de ambas partes.

El proceso del ataque es el siguiente:

1.1. Un atacante crea un punto de acceso wifi (AP) con un ESSID exactamente igual (el BSSID también puede copiarse si se quiere) a uno que tenga guardado un pc victima. Esta red tendrá seguridad WEP pero con una clave distinta a la del cliente (puesto que NO se sabe).

1.2. Pese a que el atacante y la victima poseen claves de cifrado distintas , el cifrado WEP permite llegar hasta la fase de asociación del cliente al punto de acceso.

1.2.1 El proceso de aunteticación del cliente se hacer a través de la propuesta de un reto (Flecha cuarta; de atacante a cliente) que no es mas que un texto cifrado con la clave compartida. El cliente responderá al reto (flecha quinta) y el Punto de Acceso FALSO dirá que es válida (aunque es mentira) enviado un “Authentication Success” (flecha sexta).

wep schema conexion

1.2.2 Una vez acabado el proceso de aunteticación, el cliente se asocia al punto de acceso como se muestra en las flechas 5 y 6 de la siguiente imágen.

wep schema conexion

1.2.3 Una vez establecida la asociación, el cliente intentará obtener una IP mediante DHCP ( pero el punto de acceso Falso no dispondrá de DHCP) y tras un Timeout el OS del cliente le asignará automaticamente una IP estática correspondiente al rango APIPA (169.254.0.1 a 169.254.255.254 con máscara 255.255.0.0).

El cliente enviará ARPs gratuitos informando de la IP estática que se ha autoasignado para evitar problemas en la red tal como se ve en la siguiente imágen.

caffe latte schema arp gratuitos

1.2.4 El próximo y último paso lo realizará el AP falso. A partir de los ARP gratuitos el AP fake introducirá en la red peticiones ARP de una IP cualquiera con IP destino la IP del cliente. El cliente responderá a los paquetes ARP que le estan llegando y en poco tiempo tendremos suficiente tráfico como para poder crackear la password WEP.

arp attack

2. Práctica

2.1 Vemos los interfaces de red

Vamos a iniciar la prueba viendo las interfaces de red que tenemos y cual vamos a usar en modo monitor. En mi caso la wlan1 corresponde a una tarjeta de red externa ALFA AWUS036H de las que el otro día Sebastian comentó en un POST.

ifconfig

ifconfig

2.2 Arrancamos la tarjeta en modo monitor

Una vez decidido la tarjeta que vamos a poner en modo monitor deberemos teclear el siguiente código (en mi caso usaré wlan1).

airmon-ng start wlan1

airmon-ng start

2.3 Monitorizamos el tráfico

Con el comando airodump-ng empezaremos a recoger todo el tráfico que circule por el aire. Veremos como inicialmente no hay ninguna Red wifi llamada “CaffeLatte” y tras ejecutar el comando siguiente (2.4) se crea. Así mismo veremos como el cliente se conectará al fake AP y se intercambiarán tramas.

La opción -c 7 es para filtrar las búsquedas a las del canal 7.

La opción -w “xx” es para guardar la captura en el fichero “xx”.

airodum-ng -c 7 -w capturaCaffeLatte mon0

airmon-ng -w capturaCaffeLatte -c 7 mon0

2.4 Creamos el AP falso para realizar el ataque

Con el programa airbase-ng crearemos el Punto de Acceso falso.

La opción -c 7 creará el punto de acceso en el canal 7

La opción -a XX:XX:XX:XX:XX:XX sirve para crear el punto de acceso con esa MAC address.

La opción -e “xx” dará el nombre (también tecnicamente conocido como essid) “xx” a la red.

La opción -L servirá para que airbase-ng adopete la configuración del ataque CaffeLatte.

La opción -W 1 sirve para que la red adopte cifrado WEP. Si hubiese un 0 la red sería abierta.

La opción -x “xx” es opcional; sirve para que una vez que comience el ataque, envie “xx” paquetes por segundo.

airbase-ng -c 7 -a XX:XX:XX:XX:XX:XX -e “WifiCaffeLatte” -L -W 1 -x 100 mon0

airbase-ng -L -W 1 -e CaffeLattemon0

Cuando “el cliente” se conecte a la red se asociará a este y comenzará el ataque. El estado del ataque lo veremos en la terminal de airbase-ng.

airbase-ng -L -W 1 rules

Veremos en airodump-ng que “el cliente” se ha conectado y empiezan a transmitirse frames.

airodump-ng caffe latte attack

2.5 Descifrando la clave

Cuando hayamos capturado un número alto de paquetes IV (vectores de inicialización) procederemos a ejecutar aircrack-ng para obtener la clave.

Con la opción -e “xx” descifraremos solo la red con el essid (nombre) “xx”.

aircrack-ng -e WifiCaffeLatte capturaCaffeLatte*.cap

aicrack-ng -e CaffeLatte capturaCaffeLatte*.cap

El ataque en teoría esta pensando para que se ejecute en un tiempo de 5 minutos, pero en mis pruebas no he conseguido ese rendimiento ni de lejos. De hecho no he conseguido muchos paquetes IV al cabo de 10 minutos. He hecho las pruebas con un chipset RTL 8187L atacando ordenadores con Windows 7 y Windows XP; además he probado tanto con Bactrack 5 R3 como con Kali sin conseguir un gran número de paquetes IV en ambos casos.

En este Link, Vivek Ramachandran intenta reproducir el ataque (año 2012) y tampoco consigue llevarlo a cabo. Al final dice que contactará con el equipo de Aircrack-ng para ver si pueden avanzar en el problema.

Quizás sea problema de mi tarjeta de red. Probaré a usar otras herramientas como wifite y otras tarjetas para seguir haciendo pruebas y cuando me salga haré una segunda parte mostrando la manera en la que me ha salido 😉

Espero que os haya gustado recordar este curioso ataque

Carlos Rebollo – @Charliesec

Carlos@highsec.es

  1. BTshell
    BTshell09-07-2013

    Muy bueno Carlos 😉

  2. Luis
    Luis09-07-2013

    excelente aporte, Wifite utiliza caffe latte como segunda alternativa creo 🙂

  3. R0dw3
    R0dw309-08-2013

    Muy buena la explicación del ataque Carlos! 🙂

  4. @seguridamundial
    @seguridamundial09-15-2013

    Muy buena explicacion, ya he realizado este tipo de pruebas y tienes razon… El factor tiempo nunca ha sido < 30min. Igual te felicito la explicacion es detallada y bien depurada..

Leave a Reply

*

    No Twitter Messages