Ir ao contido

Guía de Práctica 3.2: Verificación de Protección KRACK en WPA3-SAE

Baseada na práctica 3-Taller-HE-Practica-WiFi-2.pdf

1. Contexto e Obxectivos

Nesta práctica verificaremos que WPA3-SAE con PMF obrigatorio é inmune ao ataque KRACK (Key Reinstallation Attack, CVE-2017-13077 e relacionados). Reutilizamos o mesmo escenario e a mesma captura da Práctica 3.1 (capturas/cap-01.cap).

⚠️ Prerrequisito: Ter completado a Práctica 3.1 e ter o ficheiro capturas/cap-01.cap no directorio home de root (/root/capturas/cap-01.cap se traballaches como root, ou capturas/cap-01.cap desde o directorio actual).


2. Mapeamento: PDF ↔ Laboratorio

PDF Rol Interface Namespace Estado tras wifilabctl up Acción do estudante
Consola 1 AP WPA3-SAE (hostapd) wlan0 phy0_wlan0 ✅ Automático Consulta de logs
Consola 2 Cliente WPA3 (wpa_supplicant) wlan1 phy1_wlan1 ✅ Automático
Consola 3 Monitor / Captura wlan2mon (namespace global) ✅ Modo monitor (da 3.1) Captura se precisa
Consola 4 Verificación KRACK (namespace global) ⏳ Calquera terminal libre → Terminal 1

3. Preparación

Se aínda tes da Práctica 3.1 o escenario activo, non é necesario reinicialo:

sudo wifilabctl status

Se o escenario non está activo:

sudo wifilabctl up wpa3_sae

4. Terminal 1 – Verificación KRACK (PDF: Consola 4, páx. 8-9)

Esta terminal corresponde á Consola 4 do PDF. Execútase no namespace global.

4.1. Comprobar versións de hostapd e wpa_supplicant (PDF: Consola 4, páx. 8)

# Comprobar versións (deben ser >= 2.6 para ter parches KRACK)
hostapd -v
wpa_supplicant -v

Saída esperada:

hostapd v2.10
wpa_supplicant v2.10

Versións >= 2.6 inclúen os parches KRACK (CVE-2017-13077 a CVE-2017-13082).

4.2. Verificar PMF activo na configuración do AP (PDF: Consola 4, páx. 8)

# Verificar que ieee80211w=2 está activo (Consola 1 do PDF)
sudo grep "ieee80211w=2" /home/kali/wifiLab/run/wpa3_sae/hostapd.conf

Saída esperada:

ieee80211w=2

O valor 2 significa PMF obrigatorio.

4.3. Analizar tramas de xestión na captura (PDF: Consola 4, páx. 8-9)

Usamos a captura xerada na Práctica 3.1 para ver se as tramas de deauth van cifradas:

# Analizar tramas de deauth (type_subtype 0x000c) na captura
sudo tshark -r capturas/cap-01.cap \
  -Y "wlan.fc.type_subtype == 0x000c" \
  -T fields -e frame.number -e wlan.fc.protected -e wlan.sa -e wlan.da

Resultado esperado (WPA3-SAE con PMF):

4    True    8e:b3:b5:62:2d:b9    be:47:31:18:d3:d8
Campo Valor Significado
frame.number 4 Número de trama na captura
wlan.fc.protected True ✅ TRAMA CIFRADA (PMF activo)
wlan.sa MAC do cliente Orixe da trama de deauth
wlan.da MAC do AP Destino da trama de deauth

Conclusión: Ao contrario de WPA2-PSK, WPA3-SAE con PMF obrigatorio impide completamente ataques de reinstalación de claves (KRACK).


5. Por que WPA3-SAE é Inmune a KRACK

Como funciona KRACK en WPA2

No 4-Way Handshake de WPA2:

  1. AP → Cliente: ANonce (Mensaxe 1)
  2. Cliente → AP: SNonce + MIC (Mensaxe 2)
  3. AP → Cliente: GTK + MIC ← VULNERABILIDADE AQUÍ
  4. Cliente → AP: ACK (Mensaxe 4)

Se o Mensaxe 3 se perde, o AP reenvíao. O cliente, ao recibilo duplicado, reinstala a PTK e resetea o nonce a 0, permitindo ao atacante descifrar ou inxectar tráfico.

Por que WPA3-SAE bloquea KRACK

  1. PMF Obrigatorio (ieee80211w=2): As tramas do 4-Way Handshake van protexidas. Un atacante non pode inxectar Mensaxes 3 falsos sen coñecer a clave de cifrado de xestión.
  2. Forward Secrecy: Cada sesión usa claves únicas e non reutilizábeis. Capturar tráfico pasado non permite descifrado futuro.
  3. Implementacións Modernas: hostapd >= 2.6 e wpa_supplicant >= 2.6 inclúen parches KRACK. O kernel Linux >= 4.13 protexe contra reinstalacións.
Ataque WPA2-PSK (sen PMF) WPA3-SAE (PMF=2)
Reinxección Mensaxe 3 ✗ Posíbel ✅ Bloqueado por PMF
Deauth non cifrada ✗ Posíbel ✅ Ignorada
Reinstalación PTK ✗ Posíbel ✅ Imposíbel
Descifrado tráfico pasado ✗ Posíbel ✅ Forward Secrecy

6. Conclusión

A práctica verificou empiricamente, usando os comandos exactos do PDF:

  • hostapd -v e wpa_supplicant -v confirman versións >= 2.6 con parches KRACK.
  • grep "ieee80211w=2" confirma PMF obrigatorio na configuración.
  • tshark mostra wlan.fc.protected = True nas tramas de deauth capturadas.

Na Práctica 3.3 exploraremos como, aínda que o protocolo sexa seguro, implementacións vulnerables (hostapd 2.7 sen parches completos) poden ser explotadas mediante ataques Dragonblood.