Hostapd-WPE: Ataque WPA2-Enterprise Ético
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:
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:
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:
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 diohostapd-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í:
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), perohostapd-wpeestá 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:
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:
Instálala si no la tienes:
sudo apt install cuppEjecútala en modo interactivo:
python3 cupp.py -iResponde a las preguntas que te hace la terminal. Al final, generará un archivo
.txtcon 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:
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:
hashcat -m 5500 hashes.txt diccionario_empresa.txt -r /usr/share/hashcat/rules/best64.rule
Resumen de estrategia
| Paso | Herramienta | Objetivo |
| Captura | hostapd-wpe | Obtener el Hash MSCHAPv2. |
| Recolección | CeWL | Extraer palabras clave del sitio web de la víctima. |
| Crackeo | Hashcat | Probar el diccionario con reglas de variación |