Usar John the Ripper para Descifrar Handshakes Wi-Fi WPA/WPA2

Kali LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, explorará el proceso de descifrado de contraseñas Wi-Fi WPA/WPA2 utilizando una herramienta común de pruebas de penetración, John the Ripper. Si bien el objetivo principal es educativo, comprender estas técnicas es crucial para mejorar la seguridad de la red. Aprenderá a capturar un handshake WPA/WPA2, que contiene la información necesaria para el descifrado de contraseñas sin conexión, y luego utilizará herramientas especializadas para convertir este handshake en un formato que John the Ripper pueda procesar. Finalmente, intentará descifrar la contraseña utilizando un ataque de diccionario. Este laboratorio también cubrirá las fallas de seguridad subyacentes en WPA/WPA2 y proporcionará las mejores prácticas para crear contraseñas Wi-Fi seguras para proteger sus propias redes.

Capturar un Handshake WPA/WPA2

En este paso, comprenderá el concepto de capturar un handshake WPA/WPA2. En un escenario del mundo real, esto implica poner su adaptador inalámbrico en modo monitor y usar herramientas como airmon-ng y airodump-ng para capturar el handshake de 4 vías que ocurre cuando un cliente se conecta a un punto de acceso Wi-Fi. Este handshake contiene el material criptográfico necesario para realizar un ataque de fuerza bruta o de diccionario sin conexión a la contraseña Wi-Fi.

Para el propósito de este laboratorio, simularemos la existencia de un archivo de handshake capturado. El script setup ya ha creado un archivo .cap ficticio llamado dummy_capture.cap en su directorio ~/project. Este archivo representa un archivo de tráfico de red capturado que contendría un handshake WPA/WPA2.

Para verificar la presencia de este archivo de captura ficticio, use el comando ls.

ls -lh ~/project/dummy_capture.cap

Debería ver una salida similar a esta, indicando que el archivo existe:

-rw-r--r-- 1 labex labex 48 Oct 26 08:00 /home/labex/project/dummy_capture.cap

Este paso se centra en la comprensión conceptual, ya que la manipulación real de la interfaz de red está fuera del alcance de este entorno de laboratorio virtual.

Convertir Handshake al Formato de John the Ripper

En este paso, aprenderá cómo convertir un archivo de handshake WPA/WPA2 capturado (típicamente un archivo .cap) a un formato que John the Ripper pueda entender. John the Ripper, por defecto, no procesa directamente archivos .cap para el descifrado WPA/WPA2. En su lugar, requiere un formato de hash específico, a menudo generado por herramientas como aircrack-ng o hcxpcaptool. La suite aircrack-ng incluye una utilidad que puede extraer el handshake WPA/WPA2 de un archivo .cap y sacarlo en un formato adecuado para el descifrado.

Para este laboratorio, el script setup ya ha creado un archivo .hccapx ficticio llamado dummy_handshake.hccapx en su directorio ~/project. Este archivo simula la salida de dicho proceso de conversión, conteniendo la información del handshake extraída en un formato listo para John the Ripper.

Para verificar la presencia de este archivo de handshake ficticio, use el comando ls.

ls -lh ~/project/dummy_handshake.hccapx

Debería ver una salida similar a esta, confirmando la existencia del archivo:

-rw-r--r-- 1 labex labex 78 Oct 26 08:00 /home/labex/project/dummy_handshake.hccapx

Este paso enfatiza la necesidad de la conversión de formato antes de usar John the Ripper para el descifrado WPA/WPA2.

Descifrar Handshake WPA/WPA2 con John the Ripper

En este paso, utilizará John the Ripper para intentar descifrar la contraseña WPA/WPA2 del archivo de handshake convertido. John the Ripper es una potente herramienta de descifrado de contraseñas que soporta varios modos de ataque, incluyendo ataques de diccionario. Un ataque de diccionario implica probar una lista de contraseñas comunes (una wordlist) contra el handshake capturado.

Usará el comando john con la opción --wordlist para especificar el archivo de wordlist y la ruta al archivo de handshake. El script setup ya ha creado una wordlist simple llamada wordlist.txt en su directorio ~/project.

Ejecute el siguiente comando para intentar descifrar el handshake ficticio:

john --format=wpapsk --wordlist=~/project/wordlist.txt ~/project/dummy_handshake.hccapx
  • --format=wpapsk: Especifica el formato de hash que John the Ripper debe esperar, que es WPA-PSK para handshakes de Wi-Fi.
  • --wordlist=~/project/wordlist.txt: Indica a John la ubicación del archivo de diccionario que contiene posibles contraseñas.
  • ~/project/dummy_handshake.hccapx: La ruta al archivo de handshake convertido.

Después de ejecutar el comando, John the Ripper intentará descifrar la contraseña. Si una contraseña de la wordlist coincide, se mostrará. Para nuestro handshake y wordlist ficticios, se debería encontrar la contraseña labex123.

Ejemplo de salida:

Using default input encoding: UTF-8
Loaded 1 password hash (WPA-PSK [PBKDF2-SHA1 256/256 AVX2])
Will run till completion
Press 'q' or Ctrl-C to abort, almost any other key for status
labex123         (dummy_essid)
1g 0:00:00:00 DONE (2023-10-26 08:00) 100% (ETA: 08:00) 1.000g/s 5.000p/s 5.000c/s 5.000C/s labex123
Session completed.

La línea labex123 (dummy_essid) indica que la contraseña labex123 se descifró correctamente para el ESSID (nombre de red) dummy_essid.

Comprender las Fallas de Seguridad de WPA/WPA2

En este paso, obtendrá una comprensión más profunda de las fallas de seguridad inherentes a WPA/WPA2 (Wi-Fi Protected Access II) que hacen posible el descifrado del handshake. Si bien WPA2 supuso una mejora significativa respecto a sus predecesores (WEP y WPA), todavía es susceptible a ciertos tipos de ataques, principalmente ataques de diccionario offline contra el handshake de 4 vías.

La vulnerabilidad principal radica en el hecho de que la Pairwise Master Key (PMK), de la cual se deriva la Pairwise Transient Key (PTK), se basa en la Pre-Shared Key (PSK) y los nonces intercambiados durante el handshake. Si un atacante captura este handshake de 4 vías, puede realizar un ataque de fuerza bruta o de diccionario offline contra la PMK. Esto significa que el atacante no necesita estar activamente conectado a la red para probar diferentes contraseñas; solo necesita el handshake capturado.

Puntos clave a comprender:

  • Ataque Offline: El proceso de descifrado ocurre offline, lo que significa que el atacante puede tomar el handshake capturado e intentar millones de contraseñas sin interactuar con la red objetivo. Esto hace que sea muy difícil de detectar.
  • Diccionario/Fuerza Bruta: El éxito de este ataque depende en gran medida de la fortaleza de la contraseña Wi-Fi. Si la contraseña es débil, común o parte de un diccionario, puede ser descifrada relativamente rápido.
  • Sin Acceso Directo: El atacante no obtiene acceso directo a la red durante el proceso de descifrado; solo obtiene la contraseña.

Esta vulnerabilidad resalta la importancia crítica de usar contraseñas fuertes y únicas para las redes Wi-Fi. Incluso con el robusto cifrado de WPA2, una contraseña débil puede comprometer toda la red.

Implementar Contraseñas Wi-Fi Fuertes

En este paso final, aprenderá y comprenderá las mejores prácticas para implementar contraseñas Wi-Fi fuertes para mitigar los riesgos del descifrado de handshakes WPA/WPA2. Como se demostró en los pasos anteriores, una contraseña débil es la principal vulnerabilidad que permite que estos ataques tengan éxito.

Para proteger su red Wi-Fi de manera efectiva, considere las siguientes pautas para crear contraseñas fuertes:

  1. Longitud: Apunte a una contraseña de al menos 12-16 caracteres. Las contraseñas más largas aumentan significativamente el tiempo y los recursos computacionales necesarios para el descifrado.
  2. Complejidad: Utilice una combinación de letras mayúsculas, minúsculas, números y caracteres especiales (por ejemplo, !@#$%^&*). Esto hace que los ataques de diccionario y fuerza bruta sean mucho más difíciles.
  3. Unicidad: No reutilice contraseñas en diferentes servicios o redes. Si una contraseña se ve comprometida, las otras permanecen seguras.
  4. Evitar Palabras/Frases Comunes: No utilice palabras de diccionario, frases comunes, información personal (como cumpleaños, nombres) o números secuenciales (por ejemplo, 12345678). Estos son los primeros objetivos en los ataques de diccionario.
  5. Frases de Contraseña (Passphrases): Considere usar una frase de contraseña, una secuencia de palabras no relacionadas. Por ejemplo, CorrectHorseBatteryStaple es mucho más fuerte y fácil de recordar que P@$$w0rd!.
  6. Cambios Regulares: Aunque no es estrictamente necesario para contraseñas muy fuertes, cambiar su contraseña Wi-Fi periódicamente (por ejemplo, una vez al año) puede agregar una capa adicional de seguridad.

Siguiendo estas recomendaciones, puede mejorar significativamente la seguridad de su red Wi-Fi y hacer que sea extremadamente difícil para los atacantes descifrar su contraseña WPA/WPA2, incluso si logran capturar un handshake.

Resumen

En este laboratorio, ha adquirido experiencia práctica y conocimiento teórico sobre la seguridad Wi-Fi WPA/WPA2. Aprendió el proceso de captura de un handshake WPA/WPA2 (conceptualmente), su conversión a un formato adecuado para John the Ripper, y luego el uso de John the Ripper para descifrar la contraseña mediante un ataque de diccionario. Además, exploró las fallas de seguridad subyacentes que hacen posibles estos ataques y, lo que es más importante, comprendió la importancia crítica de implementar contraseñas Wi-Fi fuertes, complejas y únicas para proteger sus redes de tales vulnerabilidades. Este conocimiento es crucial tanto para la comprensión de la seguridad ofensiva como para la protección defensiva de redes.