Version: 1.05 May 16, 2007
By: darkAudax
Traducción: 22 de Agosto de 2007
Este manual trata sobre como obtener la clave WPA/WPA2 de una red en la que se usa un sistema de clave compartida (pre-shared keys). Es recomendable leer y aprender como funciona la encriptación WPA/WPA2. En el Wiki puedes encontrar una sección sobre WPA/WPA2.
WPA/WPA2 tiene soporte para otros tipos de autenticación, además de clave compartida. Pero con aircrack-ng SOLO se puede intentar obtener claves pre-compartidas (pre-shared keys). Por lo tanto asegúrate de que airodump-ng te dice que la autenticación de la red es de tipo PSK, y en otro caso, ni intentes averiguarla.
Hay otra diferencia importante entre crackear WPA/WPA2 y WEP. En las claves WEP, se pueden usar métodos “estáticos” de inyección para acelerar el proceso, pero para WPA/WPA2 solo se pueden utilizar técnicas de fuerza bruta. Esto se debe a que la clave no es estática, por lo que recogiendo IVs como para la encriptación WEP, no conseguiremos obtener más rápidamente la clave. Lo único que se necesita para poder iniciar un ataque es el handshake entre el cliente y el AP. El handshake se genera en el momento que el cliente se conecta a la red. Aunque no es exactamente cierto, para los propósitos de este tutorial, diremos que si es verdad: La clave pre-compartida puede tener un tamaño de 8 a 63 caracteres, por lo que parece imposible crackear la clave.
La única forma de obtener la clave es utilizando un diccionario. De tal forma, que si quieres tener una red wireless segura en tu casa, debes usar una clave WPA/WPA2 de 63 caracteres, incluyendo en la misma símbolos especiales.
El hecho de tener que usar fuerza bruta es un inconveniente muy grande. Porque se hace un uso intensivo del procesador del PC, y solo puede probar de 50 a 300 claves por segundo, dependiendo de la CPU. El proceso puede llevar horas o días si se utiliza un diccionario grande. Si estás pensando en generar tu propio diccionario para incluir en el mismo todas las combinaciones posibles, echale un vistazo a este calculador de tiempo: brute force time calculator. Quedarás sorprendido de la gran cantidad de tiempo que es necesaria.
No hay ninguna diferencia entre el crackeo de redes WPA o WPA2. El método de autenticación es básicamente el mismo. Por lo que las técnicas a usar son idénticas.
Es recomendable que cada uno experimente con su propio punto de acceso wireless, para familiarizarse con estas ideas y técnicas. Si no tienes un punto de acceso propio, recuerda que tienes que pedir permiso al propietario del router con el que quieras practicar este ateque.
Por favor, enviame cualquier sugerencia, positiva o negativa. Bien sean problemas o buenas ideas serán bienvenidas.
Suponemos que:
Asegurate de que cumples todas las condiciones, sino no funcionará. En los siguientes ejemplos, tendrás que cambiar “ath0” por el nombre de la interface de tu tarjeta wireless.
En los ejemplos, la opción “guión doble bssid” se muestra como “- -bssid”. Acuérdate de borrar el espacio entre los dos guiones cuando lo utilices en la vida real. Esto tambien se aplica a “- -ivs”, “- -arpreplay”, “- -deauth”, “- -channel”, “- -arp” and “- -fakeauth”.
Para seguir este manual en tu casa, debes tener dos tarjetas wireless.
En este tutorial, a continuación puedes ver las que yo he usado:
Tienes que obtener la información equivalente de la red sobre la que quieres trabajar. Y cambiar estos valores en los siguientes ejemplos.
El objetivo es capturar el handshake WPA/WPA2 y usarlo con aircrack-ng para obtener la clave pre-compartida.
Esto se puede hacer de forma activa o pasiva. “Activa” significa que podemos acelerar el proceso deautenticando a un cliente wireless. “Pasiva” significa que podemos esperar a que un cliente wireless se autentifique en la red WPA/WPA2. La ventaja de la forma pasiva es que no necesitamos inyectar y por lo tanto podremos utilizarla desde Windows.
Aquí estań los pasos que vamos a seguir:
El propósito de este paso es colocar la tarjeta en el modo denominado modo monitor. En este modo la tarjeta wireless puede escuchar y capturar cualquier paquete en el aire. En cambio, en el modo normal la tarjeta solo “escuchará” los paquetes que van destinados a la misma. Escuchando todos los paquetes, podremos más adelante capturar los 4 paquetes que forman el handshake WPA/WPA2. Y opcionalmente tambien podremos deautenticar a un cliente wireless.
Primero para la interface ath0 escribiendo:
airmon-ng stop ath0
El sistema nos responderá:
Interface Chipset Driver wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed)
Escribe “iwconfig” para comprobar que no hay mas interfaces athX. Deberás ver algo como esto:
lo no wireless extensions. eth0 no wireless extensions. wifi0 no wireless extensions.
Si queda alguna interface athX, para cada una de ellas. Cuando termines, ejecuta “iwconfig” para verificar que ya no queda ninguna.
Ahora, escribe el siguiente comando para poner la tarjeta wireless en modo monitor en el canal 9:
airmon-ng start wifi0 9
Nota: En este comando usamos “wifi0” en lugar de nuestra interface “ath0”. Esto se debe a que estamos usando los drivers madwifi-ng y no madwifi-old.
El sistema nos responderá:
Interface Chipset Driver wifi0 Atheros madwifi-ng ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)
Puedes observar que “ath0” aparece colocada en modo monitor.
Para confirmar que la interface está bien configurada, escribimos “iwconfig”.
El sistema nos responderá:
lo no wireless extensions. wifi0 no wireless extensions. eth0 no wireless extensions. ath0 IEEE 802.11g ESSID:"" Nickname:"" Mode:Monitor Frequency:2.452 GHz Access Point: 00:0F:B5:88:AC:82 Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/94 Signal level=-95 dBm Noise level=-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Podemos ver que ath0 está en modo monitor, en la frecuencia 2.452GHz que corresponde al canal 9 y en “Access Point” vemos la dirección MAC de nuestra tarjeta wireless. Es importante comprobar toda esta información antes de continuar, ya que sino no funcionará.
Para ver la correspondencia entre frecuencia y canal, mira: http://www.cisco.com/en/US/docs/wireless/technology/channel/deployment/guide/Channel.html#wp134132 . Así obtendrás la frecuencia para cada canal.
El propósito de este paso es ejecutar airodump-ng para capturar los 4 paquetes del handshake en el momento que un cliente se autentifica con el AP en el que estamos interesados.
Escribe:
airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w psk ath0
Donde:
Importante: NO uses la opción “- -ivs”. Debes capturar los paquetes enteros.
A continuación puedes ver una imagen en la que se vé un cliente wireless conectado a la red:
CH 9 ][ Elapsed: 4 s ][ 2007-03-24 16:58 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 00:14:6C:7E:40:80 39 100 51 116 14 9 54 WPA2 CCMP PSK teddy BSSID STATION PWR Lost Packets Probes 00:14:6C:7E:40:80 00:0F:B5:FD:FB:C2 35 0 116
Y ahora una imagen de la red sin clientes conectados:
CH 9 ][ Elapsed: 4 s ][ 2007-03-24 17:51 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 00:14:6C:7E:40:80 39 100 51 0 0 9 54 WPA2 CCMP PSK teddy BSSID STATION PWR Lost Packets Probes
Este paso es opcional. Solo es necesario realizar este paso si optas por acelerar activamente todo el proceso. El requisito necesario es que se encuentre asociado actualmente con el AP algún cliente wireless. Si no hay ningún cliente wireless asociado al AP, lee el siguiente paso del manual y ten paciencia. No es necesario decir, que si más tarde aparece algún cliente wireless, puedes volver atrás y seguir este apartado del manual.
Lo que se hace en este paso es enviar un mensaje al cliente wireless para desasociarlo con el AP. Entonces el cliente wireless se reautenticará con el AP. En la reautenticacion se generarán los 4 paquetes de autenticacion (handshake) en los que estamos interesados en capturar. Despues los usaremos para intentar obtener la clave precompartida WPA/WPA2.
Prestando atención a la salida del comando airodump-ng del paso anterior, podemos determinar el cliente que se encuentra conectado actualmente. Necesitamos su dirección MAC para el siguiente comando. Abre otra consola y escribe:
aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:FD:FB:C2 ath0
Donde:
A continuación puedes ver la salida del comando:
11:09:28 Sending DeAuth to station -- STMAC: [00:0F:B5:34:30:30]
Con un poco de suerte esto causará que el cliente se tenga que reautentificar y capturaremos los 4 paquetes handshake.
El propósito de este paso es conseguir la clave WPA/WPA2 precompartida. Para hacer esto, se necesita un diccionario de posibles palabras. Básicamente, aircrack-ng comprueba cada una de esas palabras para mirar si coincide con la clave.
Hay un pequeño diccionario que se incluye en la suite aircrack-ng - “password.lst”. En el Wiki FAQ puedes encontrar una larga lista de diferentes diccionarios. Se puede usar John the Ripper (JTR) para construir un diccionario propio y despues usarlo con aircrack-ng.
Abre otra consola y escribe:
aircrack-ng -w password.lst -b 00:14:6C:7E:40:80 psk*.cap
Donde:
Esta es la salida cuando no se encontró ningún handshake:
Opening psk-01.cap Opening psk-02.cap Opening psk-03.cap Opening psk-04.cap Read 1827 packets. No valid WPA handshakes found.
Cuando ocurre esto tienes que volver al paso 3 (deautenticar al cliente wireless) o esperar más tiempo para ver si se conecta algún cliente y se autentifica al AP.
Esta es la salida cuando se encuentra algún handshake:
Opening psk-01.cap Opening psk-02.cap Opening psk-03.cap Opening psk-04.cap Read 1827 packets. # BSSID ESSID Encryption 1 00:14:6C:7E:40:80 teddy WPA (1 handshake) Choosing first network as target.
En este punto, aircrack-ng intentará encontrar la clave. Dependiendo de la velocidad de la CPU y del tamaño del diccionario, este proceso puede llevar bastante tiempo, incluso días.
A continuación puedes ver que ocurre cuando averigua la clave precompartida:
Aircrack-ng 0.8 [00:00:00] 2 keys tested (37.20 k/s) KEY FOUND! [ 12345678 ] Master Key : CD 69 0D 11 8E AC AA C5 C5 EC BB 59 85 7D 49 3E B8 A6 13 C5 4A 72 82 38 ED C3 7E 2C 59 5E AB FD Transcient Key : 06 F8 BB F3 B1 55 AE EE 1F 66 AE 51 1F F8 12 98 CE 8A 9D A0 FC ED A6 DE 70 84 BA 90 83 7E CD 40 FF 1D 41 E1 65 17 93 0E 64 32 BF 25 50 D5 4A 5E 2B 20 90 8C EA 32 15 A6 26 62 93 27 66 66 E0 71 EAPOL HMAC : 4E 27 D9 5B 00 91 53 57 88 9C 66 C8 B1 29 D1 CB