Cafe Latte Attack
Como lo prometido es deuda, vamos a ver en este articulo un poco más en detalle de que se trata el Cafe-Latte Attack visto desde un punto de vista mas Técnico.
Para comprender y contextualizar el ataque deberían leer el artículo anterior “Wi-Fi Roaming Hacking”.
El ataque consiste en varios pasos que iremos disectando a lo largo del artículo, y vamos a comenzar viendo cómo funciona una conexión Wirless con encriptación WEP.
La secuencia para lograr la transferencia de datos con el Access Point es la siguiente:
-El cliente envía un “Probe Request”: Es una petición para obtener información mas detallada de otra “Estación”.
-El AP devuelve un “Probe Response”: Este Frame contiene información sobre las capacidades propias de la estación, como por ejemplo información que soporta.
-El cliente envía un “Autentication Request”: Dentro de este frame simplemente se envía una petición de identificación por parte de ambas partes, el cliente envía la petición. (En el caso de OPN authentication) (Si la autenticación fuese “Shared key” se enviara un Challenge).
-El AP envía un “Authentication Response”: En este frame se Acepta la identidad del cliente.
-El cliente envía un “Association Request”: Carga información sobre el SSID o nombre de la RED mas información propia de las capacidades del cliente.
-El AP envía un “Association Response“: Contiene la aceptación o la negación del cliente más información extra sobre el tipo de comunicación, etc.
-El cliente envía un paquete ARP Gratuitous.
Para verlo de forma grafica acá hay un dibujo:

Conexion Wireless
Una vez entendido el funcionamiento básico, voy a proceder a hablar un poco sobre la estructura de los paquetes, para poder comprender el funcionamiento interno del ataque del Cafe-Latte.
Partiendo desde la información que se debe enviar a través de la red, el proceso mediante el cual tiene que pasar, es el siguiente:
1) El texto plano es procesado por un Algoritmo llamado CRC dando origen a un ICV (Integrity Check Vector 0 Vector de chequeo de integridad).
2) El texto plano es Concatenado con el ICV.
3) La CLAVE concatenada con un IV (Vector de inicialización (El talón de Aquiles de WEP)) son ingresados en un algoritmo llamado RC4.
4) Se hace un XOR de las operaciones del punto 2) y 3) para dar lugar al Texto Encriptado. Luego, se concatena con el mismo IV de dichas operaciones, lo que da lugar al Paquete que va a viajar a través de la red.

Flujo WEP
Lo que se descubrió, hace ya varios años, es que teniendo un paquete valido se podría llegar a crear un nuevo paquete igual de valido gracias al proceso de creación del mismo. (No vamos a entrar en detalles)
Básicamente, se toma un texto plano cualquiera, se crea un parche de ICV y luego se aplica una operación XOR entre el paquete valido, y la data a inyectar. Este resultado pasa nuevamente por una operación XOR con el RC4 Keystream, proceso mediante el cual se obtiene un paquete encriptado con información irrelevante, pero que es aceptado por el AP! Esto significa, que podríamos lograr aumentar el flujo de información, para así lograr capturar mas data para crackear la WEP key.
O mejor aún, y como en el caso de nuestro ataque, podríamos fingir ser el AP, esperar la conexión del usuario y generar tráfico VÁLIDO entre el atacante y la víctima sin necesidad de desencriptar ni interpretar la información intercambiada, ya que el objetivo principal es obtener la clave WEP para lo cual necesitamos generar la mayor cantidad de paquetes posibles para poder crackearla.
Como vimos anteriormente, si un equipo tiene configurado por defecto la conexión automática a ciertas redes, este envía “Probe Requests” continuamente con el SSID de la red que está buscando. Esto sucederá con todas y cada una de las redes a las que se haya conectado anteriormente y haya configurado como “Favoritas” o con “Conexión automática“.

Airodump
Como podemos apreciar en la imagen, la captura del airodump nos muestra un equipo que no está asociado a ningún Bssid, que está enviando “Probe Requests” hacia diversas redes. Si miramos más detalladamente, también podemos observar que ninguna de esas redes se encuentra dentro de las redes disponibles. Esto nos da una idea sobre que conexiones por defecto aceptaría el cliente.
Procedemos a hacer un AP rogue para engañar al cliente y que se conecte de forma automática. Dentro de airbase podemos seleccionar además, algunas opciones extras, entre las cuales se encuentra el ataque de Cafe-Latte que consiste en aplicar la técnica del XOR para inyectar paquetes y genera trafico extra.

Airbase
Como vemos, la MAC adress del AP fue seteada en AA:AA:AA:AA:AA:AA y nuestra AP ya está enviando beacon frames para atrapar a nuestra víctima. El ESSID fue seteado como “Optimus” que es una de las redes configuradas por defecto en el cliente.
El airodump, nos muestra si el cliente ha iniciado el proceso de iniciación y como vemos abajo, el proceso fue iniciado exitosamente !

Cliente Asociado
Y para entender lo explicado anteriormente, un screenshot de Wireshark que nos da un entendimiento más profundo a nivel Red:

Wireshark - Probe Request/Response - Authentication Reques/Response - Association Request/Response
También al mismo tiempo, vemos como el Airbase detecta y nos advierte sobre un usuario conectándose a nuestro Fake AP. Una vez conectada la víctima, Aribase lanza automáticamente el Cafe-Latte Attack!!!!!!!

Attack Lunched
Una vez obtenida la Data suficiente como para crackear la clave (Si todo sale bien, puede ser en cuestión de 4 minutos):

Crackeo de clave
Si leyeron el artículo anterior de Cristian Amicelli Rivero, ARPSPOOF , podrán idearse muchos ataques nuevos una vez conseguida la autenticación dentro de una red Local. Desde la redacción de Mkit, vamos a seguir mostrando paso a paso, los diversos tipos de ataque que pueden llevarse a cabo utilizando como punto de partida, las técnicas presentadas en estos últimos artículos, así que recomiendo prestar detallada atención y de ser necesario, ampliar un poco más la información presentada.
En conclusión: Habiendo visto la facilidad con la que alguien puede hacerse de nuestra clave Wi-Fi inclusive estando a kms de distancia del Access point y sabiendo que ni siquiera las claves WPA/WPA2 son infalibles, la mejor opción es desactivar la configuración de conexión automática / redes favoritas. Nunca sabemos quién puede estar tras nuestra información, y querer conseguir acceso a nuestra red casera. Dar esa ventaja seria como aceptar un caballo de Troya pero sin siquiera saber de su existencia. Apretar un botón cada vez que iniciamos la sesión, no es mucho esfuerzo en comparación con el riesgo que corremos dejando que nuestro S.O se encargue de hacerlo por nosotros.
Gustavo Nicolas Ogawa