Realizar un Ataque de Diccionario a un Handshake WPA con aircrack-ng

Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a realizar un ataque de diccionario contra un handshake WPA/WPA2. Cuando un dispositivo se conecta a una red Wi-Fi protegida con WPA/WPA2, se produce un handshake de 4 vías para autenticar el dispositivo. Al capturar este handshake, es posible intentar descifrar la contraseña de la red sin conexión.

Un ataque de diccionario es un método para acceder a un sistema protegido por contraseña mediante la introducción sistemática de cada palabra de una lista (llamada diccionario o lista de palabras) como contraseña. Utilizaremos aircrack-ng, una potente herramienta para la auditoría de seguridad Wi-Fi, para llevar a cabo este ataque. Se le proporcionará un archivo de handshake capturado (.cap) y una lista de palabras para simular un escenario del mundo real.

Al final de este laboratorio, podrá utilizar aircrack-ng para encontrar una contraseña Wi-Fi a partir de un archivo de handshake capturado.

Localizar el archivo .cap del Handshake Capturado

En este paso, localizará el archivo de handshake WPA pre-capturado. Para este laboratorio, se ha colocado un archivo de captura de muestra llamado wpa_handshake.cap en su directorio ~/project. Este archivo contiene el tráfico de red, incluido el handshake esencial de 4 vías necesario para el ataque.

Primero, listemos los archivos en el directorio actual para confirmar que el archivo de captura está presente. Utilice el comando ls -l.

ls -l

Debería ver el archivo wpa_handshake.cap en la salida, junto con otros archivos.

total 8
-rw-r--r-- 1 labex labex 11 Mar 25 10:00 rockyou.txt
-rw-r--r-- 1 labex labex 985 Mar 25 10:00 wpa_handshake.cap

Ahora que ha confirmado la presencia del archivo de captura, puede proceder al siguiente paso.

Encontrar un archivo de lista de palabras como rockyou.txt

En este paso, encontrará e inspeccionará el archivo de lista de palabras. Un diccionario o lista de palabras es un archivo de texto simple que contiene una lista de contraseñas potenciales, una por línea. aircrack-ng utilizará esta lista para probar cada contraseña contra el handshake capturado.

Se ha creado una pequeña lista de palabras llamada rockyou.txt para usted en el directorio ~/project. Veamos su contenido usando el comando cat.

cat rockyou.txt

La salida mostrará las contraseñas potenciales contenidas en el archivo.

password
12345678
biscotte
qwerty

En un escenario del mundo real, las listas de palabras pueden ser masivas, conteniendo millones o incluso miles de millones de contraseñas. Para este laboratorio, nuestra pequeña lista contiene la contraseña correcta, lo que permitirá que el ataque tenga éxito rápidamente.

Construir el comando aircrack-ng con el archivo .cap

En este paso, utilizará aircrack-ng para inspeccionar el archivo de captura. Antes de lanzar el ataque, es una buena práctica verificar si el archivo .cap contiene un handshake WPA válido. aircrack-ng puede hacer esto por usted.

Ejecute aircrack-ng y proporcione el archivo de captura wpa_handshake.cap como argumento.

aircrack-ng wpa_handshake.cap

aircrack-ng analizará el archivo y mostrará información sobre las redes que encuentra.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
Please specify a dictionary (option -w).

Preste mucha atención a la línea WPA (1 handshake). Esto confirma que se capturó con éxito un handshake WPA completo para la red "teddy" y que está presente en el archivo. Esta es la confirmación que necesitamos para proceder con el ataque de diccionario. La herramienta también le pide que especifique un diccionario, lo cual hará en los próximos pasos.

Especificar la lista de palabras usando el parámetro -w

En este paso, aprenderá cómo especificar una lista de palabras para el ataque utilizando el parámetro -w. Este parámetro le indica a aircrack-ng qué archivo usar como su diccionario de contraseñas potenciales.

La sintaxis completa del comando es aircrack-ng <archivo_de_captura> -w <archivo_de_lista_de_palabras>.

Para entender cómo funciona, primero intentemos ejecutar el comando con una lista de palabras que no existe. Esto le ayudará a ver cómo aircrack-ng maneja los errores. Intente ejecutar el comando con nonexistent.txt como lista de palabras.

aircrack-ng wpa_handshake.cap -w nonexistent.txt

Recibirá un mensaje de error porque el archivo no se puede encontrar.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
The file 'nonexistent.txt' doesn't exist.
Please specify a dictionary (option -w).

Esto confirma que aircrack-ng requiere un archivo válido y existente para el parámetro -w. En el siguiente paso, utilizará el archivo de lista de palabras correcto para ejecutar el ataque.

Ejecutar el ataque y analizar la salida 'KEY FOUND'

En este paso, ejecutará el ataque de diccionario completo con la lista de palabras correcta y analizará la salida para encontrar la clave. Ahora que sabe cómo especificar el archivo de captura y la lista de palabras, puede lanzar el ataque.

Ejecute el comando aircrack-ng, proporcionando wpa_handshake.cap como archivo de captura y rockyou.txt como lista de palabras.

aircrack-ng wpa_handshake.cap -w rockyou.txt

aircrack-ng comenzará ahora. Probará cada contraseña de rockyou.txt contra el handshake. Dado que nuestra lista de palabras es pequeña y contiene la contraseña correcta, el proceso será muy rápido.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
[00:00:00] 3 keys tested (23.08 k/s)


                                     KEY FOUND! [ biscotte ]


      Master Key     : ED A5 79 22 E5 5F 56 64 74 CB 89 98 44 6A 18 25
                       E0 E3 44 86 8A F3 89 84 55 4A D3 94 03 19 28 79

      Transient Key  : 6A 84 A9 58 52 2E 61 30 62 50 2B 88 46 1B 2A 8A
                       ...

      EAPOL HMAC     : 4E 1A E7 74 52 86 C5 29 A3 43 54 B2 1B 2D 34 18

La línea más importante en la salida es KEY FOUND! [ biscotte ]. Esto indica que el ataque fue exitoso. aircrack-ng probó las contraseñas de la lista de palabras y descubrió que biscotte es la contraseña correcta para la red "teddy".

Resumen

En este laboratorio, realizó con éxito un ataque de diccionario a un handshake WPA utilizando aircrack-ng.

Aprendió a:

  • Localizar e identificar un archivo de captura (.cap) y una lista de palabras.
  • Utilizar aircrack-ng para inspeccionar un archivo de captura y confirmar la presencia de un handshake WPA.
  • Utilizar el parámetro -w para especificar una lista de palabras para el ataque.
  • Ejecutar el ataque de diccionario e interpretar los resultados para encontrar la clave de red.

Este ejercicio demuestra una técnica fundamental en la auditoría de seguridad Wi-Fi y resalta la importancia de utilizar contraseñas fuertes y complejas que no sean fácilmente adivinadas por ataques de diccionario.