Explicación do Formato WPA*02 (hashcat modo 22000)
Introdución
O modo 22000 de hashcat é o formato unificado para crackear contrasinais WPA/WPA2/WPA3 mediante ataques de dicionario offline. Este modo substitúe os modos antigos 2500 (handshake 4-way) e 16800 (PMKID), unificándoos nun único formato que soporta ambas técnicas de captura.
Para que se Emprega?
Este formato úsase nas Prácticas 1.1, 1.2 e 1.3 do laboratorio vuln-wifi.lab para:
- Práctica 1.1: Crackear handshakes 4-way capturados con
airodump-ng+aireplay-ng - Práctica 1.2: Auditar redes WPA2-PSK con PMF activado (mesmo proceso que 1.1)
- Práctica 1.3: Crackear PMKID capturados con
hcxdumptool(sen deautenticación)
Vantaxe principal: Un único comando hashcat -m 22000 funciona para calquera tipo de captura (handshake completo ou PMKID), simplificando o proceso de auditoría.
Formato do Hash
WPA*02*60d9443cc2379bd16ff29371e8aeea87*a6c49421b094*2e2e65aef8ed*454d50524553412d58595a*209c3cccbc531952b5351c647288ac30ca493f7c3aba497c6fb5de9642955dbb*0103007502010a0000000000000000f7b8949a7f3bd65f6f7d7e081f447056fee05f3f40ff2c4f8a24af6a37861d25ad8d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac020000*10
Estrutura Completa (Separada por *)
| Campo | Valor | Significado |
|---|---|---|
| 1. Tipo | WPA |
Formato de hash WPA/WPA2 |
| 2. Versión | 02 |
Modo 22000 (WPA-PBKDF2-PMKID+EAPOL) |
| 3. PMKID/Hash | 60d9443cc2379bd16ff29371e8aeea87 |
PMKID ou Hash Message 2 (32 caracteres hex = 16 bytes) |
| 4. MAC_AP | a6c49421b094 |
Enderezo MAC do Access Point (BSSID) |
| 5. MAC_STA | 2e2e65aef8ed |
Enderezo MAC da estación/cliente atacante |
| 6. ESSID (hex) | 454d50524553412d58595a |
SSID en hexadecimal = "EMPRESA-XYZ" |
| 7. ANONCE | 209c3cccbc531952b5351c647288ac30ca493f7c3aba497c6fb5de9642955dbb |
Nonce do AP (64 hex = 32 bytes) |
| 8. EAPOL | 0103007502010a0000000000000000f7b8949a... |
Datos completos do paquete EAPOL (variable) |
| 9. Tipo Msg | 10 |
Identificador do tipo de mensaxe capturada |
Explicación Detallada de Cada Campo
Campo 3: PMKID/Hash (60d9443cc2379bd16ff29371e8aeea87)
Este campo pode conter dúas cousas diferentes dependendo do que capturaches:
Opción A - PMKID puro:
- Se capturaches o PMKID no primeiro paquete EAPOL (Message 1/4)- É un hash de 16 bytes (32 caracteres hex)
Opción B - Hash do Message 2:
- Se capturaches o handshake completo (4-way)- É o MIC (Message Integrity Code) do Message 2/4
Se capturaches con ep+++ (EAPOL + PMKID), este campo contén o PMKID.
Campo 6: ESSID en Hexadecimal (454d50524553412d58595a)
Conversión hex a ASCII:
Resultado:EMPRESA-XYZ
Campo 7: ANONCE (209c3cccbc531952b5351c647288ac30...)
- ANonce = Nonce do Authenticator (Access Point)
- Xerado aleatoriamente polo AP
- 32 bytes (256 bits)
- Usado para derivar o PTK (Pairwise Transient Key)
Campo 8: Datos EAPOL (longo)
0103007502010a0000000000000000f7b8949a7f3bd65f6f7d7e081f447056fee05f3f40ff2c4f8a24af6a37861d25ad8d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001630140100000fac040100000fac040100000fac020000
Este campo contén o paquete EAPOL completo en hexadecimal. Desglose parcial:
| Bytes | Significado |
|---|---|
01 |
Protocol Version (EAPOL) |
03 |
Packet Type (Key) |
0075 |
Packet Body Length (117 bytes) |
02 |
Key Descriptor Type (RSN/WPA2) |
010a |
Key Information |
0000000000000000 |
Key Replay Counter |
f7b8949a7f3bd65f... |
Key Nonce (SNonce no caso do Message 2) |
| ... | RSN Information Elements |
Campo 9: Tipo de Mensaxe (10)
Este campo identifica que tipo de paquete se capturou:
| Valor | Significado |
|---|---|
01 |
PMKID (Message 1/4 con PMKID) |
02 |
Message 2/4 do 4-way handshake |
03 |
Message 3/4 do 4-way handshake |
10 |
Combinación PMKID + EAPOL |
O valor 10 significa que hcxpcapngtool detectou tanto PMKID como datos EAPOL completos, dándolle a hashcat máxima información para crackear.
Como Usa Hashcat Esta Información?
Proceso interno de hashcat:
- Le o ESSID:
EMPRESA-XYZ(do campo 6) - Toma unha palabra do dicionario: Por exemplo:
spongebob19 - Calcula PMK:
- Calcula PMKID de proba:
- Compara:
Resumo Visual
WPA*02*PMKID*MAC_AP*MAC_STA*ESSID_hex*ANONCE*EAPOL_data*tipo
│ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ └─ Tipo msg (10 = PMKID+EAPOL)
│ │ │ │ │ │ │ └─────────── Paquete EAPOL completo
│ │ │ │ │ │ └──────────────────── Nonce do AP
│ │ │ │ │ └──────────────────────────── SSID: EMPRESA-XYZ
│ │ │ │ └───────────────────────────────────── MAC cliente/atacante
│ │ │ └───────────────────────────────────────────── MAC do AP (BSSID)
│ │ └──────────────────────────────────────────────────── Hash a crackear (PMKID)
│ └───────────────────────────────────────────────────────── Modo 22000
└───────────────────────────────────────────────────────────── Formato WPA
Conclusión
Este formato WPA*02 é moi completo porque inclúe:
- PMKID (para crack rápido)
- ANONCE (para verificación)
- Datos EAPOL completos (para máxima compatibilidade)
- Toda a información necesaria para que hashcat probe contrasinais
É por iso que o modo 22000 de hashcat funciona tanto con handshakes tradicionais como con PMKID usando o mesmo formato!