Kali Linux: Guía de hcxtools

  

 https://www.onlinetis.com

Kali Linux: Guía de hcxtools

Si estás trabajando en Kali Linux y te interesa la seguridad de redes Wi-Fi, hcxtools es un conjunto de herramientas esenciales. A diferencia de los métodos antiguos que dependían de capturar un "handshake" completo (que requiere que un usuario se conecte en ese momento), hcxtools se especializa en ataques modernos como el de PMKID.

Aquí tienes un resumen de qué es y cómo usarlo en español:


¿Qué es hcxtools?

Es un paquete de herramientas diseñadas para capturar datos de paquetes WLAN y convertirlos a formatos que programas como Hashcat puedan procesar para realizar ataques de fuerza bruta.

Herramientas principales del paquete:

  • hcxdumptool: La herramienta "estrella". Se usa para capturar tráfico y forzar la obtención de hashes (PMKID o Handshakes) de los puntos de acceso.

  • hcxpcapngtool: Sirve para convertir los archivos de captura (.pcapng) al formato de hash que entiende Hashcat.


Flujo de trabajo básico (Ataque PMKID)

El ataque PMKID es genial porque no necesitas que haya clientes conectados a la red para obtener el hash.

1. Preparar la interfaz

Primero, pon tu tarjeta de red en modo monitor (asumiendo que es wlan0):

Bash
sudo airmon-ng start wlan0

2. Capturar datos con hcxdumptool

Este comando buscará puntos de acceso y guardará la información necesaria.

Bash
sudo hcxdumptool -i wlan0mon -o captura.pcapng --enable_status=1

Déjalo correr unos minutos. Si ves que aparece un mensaje de "PMKID retrieved", ¡ya lo tienes!

3. Convertir la captura para Hashcat

Ahora necesitas pasar ese archivo .pcapng a un formato que Hashcat pueda leer (formato 22000).

Bash
hcxpcapngtool -o hash_para_crackear.txt captura.pcapng

4. Crackear la contraseña

Finalmente, usas Hashcat con un diccionario (como rockyou.txt):

Bash
hashcat -m 22000 hash_para_crackear.txt rockyou.txt

Diferencias clave

HerramientaUso Principal
Airodump-ngCaptura handshakes tradicionales (necesita clientes).
hcxdumptoolCaptura PMKID (no necesita clientes) y es más automatizado.
hcxpcapngtoolEl "traductor" moderno para las nuevas versiones de Hashcat.

Notas de seguridad y ética

Recordatorio importante: Utiliza estas herramientas únicamente en redes de tu propiedad o con permiso explícito del dueño. El acceso no autorizado a redes es ilegal.

Si ya dominas lo básico, entrar en los parámetros avanzados de hcxdumptool es lo que separa a un usuario casual de un profesional de la auditoría. Esta herramienta es extremadamente potente porque interactúa directamente con el driver de la tarjeta de red, permitiendo inyecciones de paquetes muy específicas.

Aquí tienes los parámetros avanzados más útiles para optimizar tus capturas y evitar ser detectado o perder tiempo en objetivos irrelevantes.


1. Filtrado Selectivo (Targeting)

No siempre quieres atacar todo lo que se mueve. Puedes usar listas blancas (BPF) o filtros directos.

  • --filtermode=n: Define cómo se comporta el filtro.

    • 1: Modo lista blanca (solo ataca lo que esté en tu archivo).

    • 2: Modo lista negra (ignora lo que esté en tu archivo).

  • --filterlist=archivo.txt: El archivo con las direcciones MAC que quieres incluir o excluir.

  • -c 1,6,11: Fija el escaneo solo en canales específicos para que la tarjeta no pierda tiempo saltando por todo el espectro.


2. Ataques Específicos y "Beacons"

hcxdumptool puede ser muy agresivo o muy sutil dependiendo de estos interruptores:

  • --enable_status=n: Activa una máscara de bits para ver qué está pasando en tiempo real.

    • 1: Información básica de EAPOL/PMKID.

    • 2: Información de paquetes de gestión (Probe Requests).

    • 4: Información de paquetes de datos.

  • --active_beacon: Esta es una de las funciones más potentes. Envía "Beacon Responses" para engañar a los clientes cercanos y hacer que intenten conectarse a ti, facilitando la obtención de handshakes.

  • --give_up_threshold=n: Si un AP no responde después de n intentos, la herramienta lo ignora temporalmente. Ideal para no quedarse "atascado" en una red con señal débil.


3. Evasión y Protección del Hardware

Si realizas auditorías prolongadas, estos parámetros protegen tu equipo y tu anonimato:

  • --stop_on_error: Detiene todo si la interfaz de red falla. Útil para no generar logs basura si tu tarjeta se desconecta.

  • --use_fixed_mac: Por defecto, hcxdumptool cambia tu MAC aleatoriamente. Si necesitas usar la MAC real de tu tarjeta (o una específica para pasar un filtro), usa este comando.


4. El "Modo Bestia" (Ataque de Inyección Directa)

Si quieres forzar a los clientes a desconectarse para que vuelvan a autenticarse (y capturar el handshake de 4 vías):

  • --eapoltimeout=n: Ajusta cuánto tiempo espera la herramienta una respuesta EAPOL. En redes saturadas, subir este valor puede ayudar a capturar hashes que de otro modo se perderían.

  • --infinite_pcap: Permite que el archivo de captura crezca sin límites, ideal para dejar la Raspberry Pi o laptop funcionando durante horas.


Ejemplo de comando avanzado "Full Audit"

Si quisieras hacer un ataque enfocado solo en el canal 6, filtrando una MAC específica y activando respuestas de Beacon activas, el comando se vería así:

Bash
sudo hcxdumptool -i wlan0mon -o auditoria_avanzada.pcapng -c 6 --filterlist=objetivo.txt --filtermode=1 --active_beacon --enable_status=7

Tabla de Formatos de Salida

Es vital recordar que hcxdumptool genera archivos .pcapng. Para usarlos en Hashcat, siempre debes pasar por el paso de conversión:

ConversorFormato HashcatTipo de Red
hcxpcapngtool -o22000WPA/WPA2/WPA3 (PMKID & Handshake)
hcxpcapngtool -EWordlistExtrae nombres de redes (SSIDs) para diccionarios

Crear un filtro BPF (Berkeley Packet Filter) es la forma más avanzada y eficiente de decirle a hcxdumptool exactamente qué paquetes procesar y cuáles ignorar a nivel de kernel, lo que ahorra muchísimos recursos de CPU.

Aquí te explico cómo configurarlo para filtrar por fabricantes (OUI) o comportamientos específicos.


1. ¿Cómo funciona el filtrado BPF?

A diferencia de un archivo de texto plano con MACs, el filtro BPF es un código compilado que la tarjeta de red usa para "decidir" en microsegundos si un paquete le interesa o no.

Estructura de un filtro para OUI (Fabricante)

Si quieres ignorar o atacar solo a un fabricante específico (por ejemplo, routers Cisco, cuya MAC suele empezar por 00:17:94), usamos desplazamientos de bytes:

  • wlan addr1: Dirección de destino.

  • wlan addr2: Dirección de origen (el AP).

  • ether[0:3]: Los primeros 3 bytes de la dirección MAC (el identificador del fabricante).


2. Creando el archivo de filtro (.bpflist)

No escribes el código directamente en la línea de comandos, sino que creas un archivo de texto y hcxdumptool lo procesa.

Ejemplo: Ignorar todos los dispositivos de una marca

Si tienes una lista de MACs de dispositivos que NO quieres tocar (por ejemplo, tus propios equipos), creas un archivo llamado filtros.txt:

Plaintext
# Formato: MAC_ADDRESS_SIN_PUNTOS
001122334455
AABBCCDDEEFF

Y luego lo invocas con:

--filterlist=filtros.txt --filtermode=2 (Modo 2 = Blacklist/Lista Negra).


3. Filtrado por "Protos" (Avanzado)

Puedes configurar hcxdumptool para que solo capture paquetes de autenticación, ignorando todo el tráfico de datos (YouTube, Netflix, etc.) que solo llena tu disco duro de basura.

Para esto, se suelen usar las opciones internas de la herramienta que actúan como filtros BPF preconfigurados:

  • --disable_deauthentication: Evita enviar paquetes de deautenticación. Útil si quieres una auditoría "silenciosa" (solo escucha).

  • --disable_probing: Evita que tu tarjeta envíe "Probe Requests". Esto hace que seas invisible para los sistemas de detección de intrusos (IDS) que buscan escaneos activos.


4. Combinando todo en un escenario real

Imagina que quieres auditar una red, pero quieres ser invisible, no quieres atacar a los clientes de Apple (para evitar problemas de desconexión en iPhones) y solo te interesa el canal 1.

  1. Crea tu lista de exclusión (MACs de Apple que conozcas).

  2. Ejecuta el comando profesional:

Bash
sudo hcxdumptool -i wlan0mon -o captura_profesional.pcapng \
-c 1 \
--filterlist=apple_devices.txt --filtermode=2 \
--disable_deauthentication \
--disable_probing \
--enable_status=1

Tip de experto: Verificación de captura

Antes de irte a casa y dejar la herramienta corriendo, verifica que estás recibiendo tráfico útil con:

hcxpcapngtool -i captura.pcapng

Este comando (sin el -o) te dará un resumen estadístico de cuántos PMKIDs y EAPOL handshakes llevas acumulados en tiempo real.

Automatizar hcxdumptool en un script de Bash es la mejor forma de convertir una Raspberry Pi o una laptop en una "caja de auditoría" automática. Con esto, solo tendrás que encender el equipo y él se encargará de poner la tarjeta en modo monitor, escanear y guardar los hashes.

Aquí tienes un script robusto y profesional que puedes adaptar:


Script: auto_audit.sh

Este script realiza tres funciones críticas: limpia procesos que interfieren, activa el modo monitor y lanza el ataque con filtros.

Bash
#!/bin/bash

# Configuración
INTERFACE="wlan0"        # Cambia esto por tu interfaz (wlan0, wlp2s0, etc.)
MON_INTERFACE="${INTERFACE}mon"
OUTPUT_DIR="$HOME/capturas_wifi"
LOG_FILE="$OUTPUT_DIR/audit_log.txt"
DATE=$(date +"%Y%m%d_%H%M")

# 1. Crear directorio de salida si no existe
mkdir -p "$OUTPUT_DIR"

echo "[+] Iniciando proceso de auditoría automática: $DATE" | tee -a "$LOG_FILE"

# 2. Matar procesos que bloquean la tarjeta (WPA Supplicant, NetworkManager)
echo "[+] Limpiando procesos de red conflictivos..."
sudo airmon-ng check kill

# 3. Iniciar modo monitor
echo "[+] Activando modo monitor en $INTERFACE..."
sudo airmon-ng start "$INTERFACE"

# 4. Lanzar hcxdumptool con parámetros optimizados
# -c 1,6,11 : Solo canales principales de 2.4GHz
# --enable_status=1 : Muestra PMKIDs encontrados
echo "[+] Ejecutando hcxdumptool... Presiona CTRL+C para detener."
sudo hcxdumptool -i "$MON_INTERFACE" \
    -o "$OUTPUT_DIR/capture_$DATE.pcapng" \
    -c 1,6,11 \
    --enable_status=1 \
    --active_beacon \
    --give_up_threshold=10

# 5. Al detener (CTRL+C), intentar una conversión rápida para ver estadísticas
echo -e "\n[+] Auditoría finalizada. Resumen de captura:"
hcxpcapngtool -i "$OUTPUT_DIR/capture_$DATE.pcapng"

Cómo configurarlo para que inicie al encender (Systemd)

Si quieres que esto sea 100% automático al arrancar Kali Linux (ideal para dispositivos "headless" sin pantalla):

  1. Dale permisos de ejecución:

    chmod +x auto_audit.sh

  2. Crea un servicio de Systemd:

    Ejecuta sudo nano /etc/systemd/system/wifi-audit.service y pega esto:

    Ini, TOML
    [Unit]
    Description=Servicio de Auditoria Wi-Fi Automatica
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/ruta/a/tu/script/auto_audit.sh
    User=root
    
    [Install]
    WantedBy=multi-user.target
    
  3. Habilita el servicio:

    Bash
    sudo systemctl enable wifi-audit.service
    sudo systemctl start wifi-audit.service
    

Visualización de la Estructura de Datos

Cuando el script termina, habrás generado un archivo .pcapng. Es importante entender que este archivo es un "contenedor" que guarda varios tipos de datos que luego extraerás.

¿Qué hacer después de la captura?

Una vez que tengas tu archivo capture_2026xxxx.pcapng, el siguiente paso lógico es la extracción masiva:

Bash
# Extraer todos los hashes encontrados a formato Hashcat (22000)
hcxpcapngtool -o hashes_finales.txt capture_*.pcapng

# Extraer solo los nombres de red (SSIDs) para crear un diccionario personalizado
hcxpcapngtool -E lista_ssids.txt capture_*.pcapng

Un último consejo de experto:

Si notas que tu tarjeta de red se calienta o se desconecta, añade el parámetro --stop_on_error al script. Esto evitará que el script intente inyectar paquetes si el hardware ha fallado, protegiendo la integridad de tu tarjeta.

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