Hostapd-WPE: Ataque WPA2-Enterprise Ético

https://www.onlinetis.com

Hostapd-WPE: Ataque WPA2-Enterprise Ético

Con gusto te explico qué es hostapd-wpe y cómo se utiliza en Kali Linux para realizar auditorías de seguridad en redes inalámbricas.

¿Qué es hostapd-wpe?

hostapd-wpe (Wireless Presentation Environment) es una versión modificada del demonio hostapd original. Su objetivo principal es facilitar ataques de "suplantación de identidad" (Impersonation) en redes empresariales que utilizan autenticación WPA2-Enterprise (802.1X).

A diferencia de una red doméstica normal, las redes empresariales piden un usuario y una contraseña. hostapd-wpe crea un punto de acceso falso que acepta cualquier intento de conexión, capturando los hashes (desafío/respuesta) de las credenciales de los usuarios que intentan conectarse.


Cómo funciona el ataque

Cuando un dispositivo (como un celular o laptop) intenta conectarse a tu punto de acceso falso, se produce un intercambio de autenticación. hostapd-wpe registra los valores de MSCHAPv2, que luego puedes intentar descifrar (crackear) fuera de línea usando herramientas como Hashcat o John the Ripper.

Pasos básicos para usarlo en Kali Linux

1. Instalación

Si no lo tienes instalado, puedes obtenerlo fácilmente desde los repositorios oficiales:

Bash
sudo apt update
sudo apt install hostapd-wpe

2. Configuración del archivo .conf

El archivo de configuración suele encontrarse en /etc/hostapd-wpe/hostapd-wpe.conf. Debes editarlo para definir:

  • interface: Tu tarjeta de red en modo monitor (ej. wlan0).

  • ssid: El nombre de la red que quieres suplantar (ej. "WiFi_Empresa").

  • channel: El canal en el que quieres transmitir.

3. Ejecución

Una vez configurado, inicia la herramienta:

Bash
sudo hostapd-wpe /etc/hostapd-wpe/hostapd-wpe.conf

4. Captura de datos

Cuando una víctima intente unirse, verás en la terminal algo como esto:

mschapv2: username: [usuario] challenge: [valor] response: [valor]


Consideraciones Importantes

  • Modo Monitor: Tu tarjeta de red debe ser compatible con el modo monitor y la inyección de paquetes.

  • Certificados: En entornos modernos, muchos dispositivos detectarán que el certificado del servidor no es el correcto. Sin embargo, muchos usuarios suelen darle a "Continuar" o "Confiar" sin leer la advertencia.

  • Ética: Utiliza esta herramienta solo en entornos controlados o bajo autorización explícita (Pentesting ético).

Una vez que hayas capturado los hashes de MSCHAPv2 con hostapd-wpe, el siguiente paso es "romperlos" para obtener la contraseña en texto plano.

La herramienta más potente para esto es Hashcat. Aquí tienes cómo hacerlo:

1. Preparar el formato del Hash

hostapd-wpe te entregará una línea con este formato en tu terminal o archivo de log:

username::::response:challenge

Debes copiar esa cadena completa. Por ejemplo:

admin::::0011223344556677:8899aabbccddeeff


2. Comando de Hashcat

El modo específico para crackear NetNTLMv1 / MSCHAPv2 en Hashcat es el 5500. El comando básico usando un ataque de diccionario sería:

Bash
hashcat -m 5500 hash_capturado.txt /ruta/al/diccionario.txt

Desglose del comando:

  • -m 5500: Indica que el tipo de hash es NetNTLMv1 / MSCHAPv2.

  • hash_capturado.txt: El archivo donde guardaste la línea que te dio hostapd-wpe.

  • /usr/share/wordlists/rockyou.txt: El diccionario clásico que viene en Kali Linux.


3. Ejemplo práctico con "RockYou"

Si quieres usar el diccionario más común de Kali, el comando se vería así:

Bash
hashcat -m 5500 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt

[!IMPORTANT]

Nota técnica: Si el hash que capturaste es muy largo (especialmente en protocolos más modernos), podrías estar ante un NetNTLMv2 (modo -m 5600), pero hostapd-wpe está diseñado específicamente para forzar el downgrade a MSCHAPv2 (5500), que es mucho más rápido de crackear.


¿Qué pasa si el diccionario no funciona?

Si la contraseña es compleja, puedes intentar un ataque de máscara (fuerza bruta inteligente). Por ejemplo, para probar todas las combinaciones de 8 dígitos:

Bash
hashcat -m 5500 -a 3 hashes.txt ?d?d?d?d?d?d?d?d

Crear un diccionario personalizado es una de las tácticas más efectivas en un Pentesting, ya que muchas empresas e instituciones utilizan patrones predecibles para sus contraseñas (por ejemplo: NombreEmpresa2024* o WifiInvitado123).

Aquí te presento las dos mejores herramientas en Kali Linux para generar diccionarios inteligentes:


1. Cupp (Common User Passwords Profiler)

Esta herramienta es ideal si tienes información sobre el objetivo (nombre de la empresa, fechas importantes, nombres de departamentos).

Cómo usarla:

  1. Instálala si no la tienes: sudo apt install cupp

  2. Ejecútala en modo interactivo: python3 cupp.py -i

  3. Responde a las preguntas que te hace la terminal. Al final, generará un archivo .txt con miles de combinaciones posibles basadas en esos datos.

2. CeWL (Custom Error Writing Logger)

Esta es una joya para ataques corporativos. CeWL rastrea el sitio web de la empresa y extrae todas las palabras únicas para crear un diccionario. La lógica es que los empleados suelen usar palabras relacionadas con su entorno laboral.

Comando básico:

Bash
cewl -w diccionario_empresa.txt -d 2 -m 5 https://www.paginadelaempresa.com
  • -w: Nombre del archivo de salida.

  • -d: Profundidad (cuántos enlaces seguir dentro de la web).

  • -m: Longitud mínima de la palabra (5 letras suele ser un buen inicio).


3. El toque final: Combinar con Reglas de Hashcat

Incluso si tienes una palabra clave como "Empresa", el usuario probablemente la use como "Empresa2026!". No necesitas generar todas esas variantes manualmente; Hashcat puede hacerlo por ti usando "Reglas".

Usa la regla best64 que viene por defecto en Kali para aplicar variaciones comunes (mayúsculas, números al final, símbolos) a tu diccionario de CeWL:

Bash
hashcat -m 5500 hashes.txt diccionario_empresa.txt -r /usr/share/hashcat/rules/best64.rule

Resumen de estrategia

PasoHerramientaObjetivo
Capturahostapd-wpeObtener el Hash MSCHAPv2.
RecolecciónCeWLExtraer palabras clave del sitio web de la víctima.
CrackeoHashcatProbar el diccionario con reglas de variación

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux