Hacking WiFi

Aircrack-ng (III) – Cracking de algoritmo WEP y WPA

Buenos días hackers!! Hoy vamos a continuar nuestro recorrido por Aircrack-ng comenzando a realizar ataques más interesantes. En esta entrada podréis aprender a realizar ataques contra los sistemas de cifrado de las redes inalámbricas más utilizados: WEP y WPA-PSK.

Sin mas preámbulos, pongámonos a ello.

Cracking del algoritmo WEP mediante inyección de tráfico

WEP es un algoritmo de cifrado para redes inalámbricas ya desfasado y en proceso de desaparición debido a sus múltiples fallos de seguridad. Entre ellos, el más aprovechado es que mediante la captura de los llamados vectores de inicialización o IVs, que se utilizan en el cifrado de los mensajes, puede realizarse un ataque que nos permite averiguar la clave de dicho cifrado.
Explicado a grandes rasgos, esta vulnerabilidad explota el hecho de que los vectores de inicialización, en principio utilizados para mejorar el cifrado de la red añadiendo una serie de 24bits a la clave de cifrado en cada paquete, se transmiten en texto plano dentro del propio paquete, y suelen incrementarse de forma lineal. Por tanto, y constando solamente de 24bits, es fácil capturar dos paquetes que estén cifrados con el mismo IV y la misma clave de cifrado en un tiempo aceptable. Ésto permite ejecutar un ataque estadístico capaz de desvelar la clave de cifrado de la red.
Utilizaremos de nuevo la herramienta aireplay-ng para el ataque sobre una red que de nuevo hemos preparado anteriormente, con cifrado WEP. Como siempre, configuraremos nuestra tarjeta de red inalámbrica en modo monitor con airmon-ng como paso previo al ataque, y localizaremos a nuestra víctima mediante airodump-ng.
Tras localizar a la víctima, utilizaremos de nuevo airodump-ng para escuchar la red, colocando la tarjeta en el mismo canal de la víctima para mayor precisión, y especificando que queremos que los resultados de la escucha se guarden en un archivo salida.
airodump-ng -c 7 -w captura_wep –bssid 84:9C:A6:36:99:24 wlan0mon
 
Tenemos ya la parte de la escucha preparada. Debemos dejar el comando ejecutándose a lo largo de todo el ataque, ya sea en segundo plano o en otro terminal. 
 
El siguiente paso será lanzar la herramienta aireplay-ng para ejecutar un ataque tipo ARP Replay. Es la manera más sencilla y utilizada para generar tráfico dentro de una red inalámbrica. Lo que hace es básicamente es capturar cada petición ARP dentro de la red inalámbrica y retransmitirla de vuelta al punto de acceso origen; ante esto, el AP vuelve a transmitir el mismo paquete con un vector de inicialización diferente. Repitiendo esta operación de forma constante, conseguimos registrar una enorme cantidad de IVs en un tiempo mucho menor que si simplemente quedásemos a la escucha. 
 
aireplay-ng -3 -b 84:9C:A6:36:99:24 wlan0mon
Salida del comando en aireplay-ng 
Escucha mediante airodump-ng durante el ataque
El objetivo es capturar cuantos más paquetes mejor, indicados en airodump-ng en el campo #Data. 
 
En otra terminal, deberemos ahora asociar nuestra MAC al punto de acceso víctima mediante el ataque de autenticación falsa que ya vimos anteriormente. Ésto es necesario para poder realizar correctamente la inyección de paquetes en la red inalámbrica; si no, el AP podría descartar directamente los paquetes ARP que le estamos reenviando. 
 
Una vez ejecutado dicha falsa autenticación, vemos que el campo #Data de airodump-ng aumenta de forma muy rápida. El ataque empieza a tener éxito. Para acelerar el proceso, podemos ejecutar un ataque de deautenticación sobre cualquier cliente que esté conectado a la red, de forma que se generen nuevos paquetes ARP que, a su vez, retransmitiremos. 
 
En este punto, solamente debemos esperar un rato a que la cantidad de paquetes capturados sea lo suficientemente alta. Esta cifra es muy variable, pero normalmente a partir de unos 150000 paquetes el éxito está asegurado. 
El número de paquetes capturados en airodump-ng aumenta más o menos rápidamente
Por último, podemos sacar a escena por fin la herramienta que da nombre a la suite: aircrack-ng. Como nombramos al principio, sirve para realizar el crackeo de claves a partir de archivos de escucha, como el que acabamos de generar con airodump-ng. Podemos ahora lanzar la herramienta de la forma: 
 
aircrack-ng captura-01.cap
 
Y vemos que enseguida nos ha sacado la clave de cifrado de la red inalámbrica, una clave hexadecimal muy sencilla que pusimos como ejemplo.
 

Captura de la clave de encriptación con aircrack-ng
Y hasta aquí la parte de crackeo de redes WEP. Ahora, empezamos con un algoritmo de encriptación algo más complicado: WPA Personal.

Cracking del algoritmo WPA/WPA2 Personal mediante ataque por diccionario

Visto ya cómo realizar un ataque para desvelar la clave de cifrado para el algoritmo WEP, podemos pasar a un ataque a una red con algoritmo WPA o WPA2 con clave precompartida, llamado también WPA Personal, la implementación más habitual para el intercambio de claves de cifrado en un punto de acceso convencional y actualizado.
El ataque aprovecha la captura de los paquetes que intervienen en la autenticación de un cliente dentro de la red inalámbrica. En esta autenticación se realiza un handshake de 4 pasos o vías en el que se envía la clave de cifrado previamente cifrada mediante funciones hash. La captura de este handshake nos permite obtener dicho hash, que posteriormente podremos poner como entrada a un ataque de fuerza bruta por diccionario mediante herramientas como el propio aircrack-ng u otras como john u oclhashcat.
Comenzaremos el ataque como siempre, colocando nuestra tarjeta inalámbrica en modo monitor con airmon-ng y localizando la red con airodump-ng. Asimismo, de la misma manera que con el apartado anterior, colocaremos airodump-ng a la escucha y grabando los datos dentro de un archivo captura.
Una vez hecho ésto, lo único que debemos hacer es localizar un cliente de la red inalámbrica y lanzarle ataques de autenticación hasta que podamos ver que se ha capturado el 4 way handshake. Seguramente sean necesarios varios de estos ataques y reautenticaciones por parte del cliente hasta que capturemos el handshake.

Pequeño truco: Automatiza las deautenticaciones para lanzarlas periódicamente pero dando tiempo a que el cliente vuelva a intentar autenticarse. Por ejemplo, cada cinco minutos. 

while [ 1 -gt 0 ]; do aireplay-ng -0 3 -a 84:9C:A6:36:99:24 -c 64:A6:51:AD:EB:4C wlan0mon; sleep 300; done
Eventualmente, capturamos el handshake WPA. 
 
Captura del handshake de WPA mediante airodump-ng
Una vez capturado, solo tenemos que pasar el archivo de captura a aircrack-ng de forma similar a cuando hicimos el crackeo del algoritmo WEP. Sin embargo, ahora debemos tener un diccionario para realizar un ataque por fuerza bruta. En nuestro caso, utilizamos uno bastante conocido llamado rockyou.txt. Especificamos además el BSSID de la red víctima y el archivo de captura. 
 
aircrack-ng  -w rockyou.txt -b 84:9C:A6:36:99:24 captura-07.cap
Y rápidamente (colocamos una clave bastante evidente, así que se encuentra pronto en el diccionario) nos desvela la clave de la red inalámbrica cifrada en WPA2-PSK, uno de los algoritmos más seguros actualmente.
 
Crackeo de la clave mediante aircrack-ng
Y eso es todo por hoy amigos. Espero que la entrada os haya gustado y os sirva para aprender. Un saludo hackers!!
hartek