Wireless Pentest Checklist

A Wi-Fi-focused wireless pentest checklist turned into a how-to-test field guide: survey and recon, WEP, WPA2-PSK (4-way handshake and PMKID cracking), WPA3 and downgrade, WPS, Enterprise 802.1X/EAP (evil twin and credential relay, certificate validation), rogue AP / evil twin / captive portal, deauth and management-frame protection, client-side attacks, and guest/corporate segmentation — plus Bluetooth/BLE — each with the scenario, the real command (aircrack-ng, hcxdumptool, hashcat, hostapd-wp

LazyHackers.in — Checklist

📶 Wireless Pentest Checklist

Wi-Fi deep-dive, item by item: scenario · command · steps · the finding · the fix

☰   How to use this guide

Wireless extends the network past the walls. The work splits by encryption type: WEP is instant, WPA2-PSK is a handshake/PMKID capture cracked offline, WPA3 resists that (so you look for downgrade), and Enterprise (802.1X/EAP) is owned by an evil twin that relays or captures credentials. The deeper questions are client-side (probe/karma) and segmentation (does guest reach corporate?). This guide turns every item into how-to-test. For what an attacker does after joining, pair with the Network checklist.

You need a monitor-mode-capable adapter. Each section ends with a coverage table. Order: survey → pick the encryption path → client/evil-twin → segmentation.
Only test networks you own or are explicitly authorised for. Deauth, rogue APs and handshake capture affect real users — confirm scope, channels and timing in the RoE; avoid disrupting production wireless.
# Monitor mode + survey
airmon-ng check kill ; airmon-ng start wlan0
airodump-ng wlan0mon                     # list APs/clients, encryption, channels
# (wifite automates much of the capture/crack flow)
wifite --kill

0   Survey & recon

Map every SSID/BSSID, its encryption, channel and clients — plus hidden SSIDs and rogue/unauthorised APs.

airodump-ng wlan0mon --band abg          # full 2.4/5GHz survey
kismet -c wlan0mon                        # rich passive survey + rogue detection
# Target a single AP to see clients + capture
airodump-ng -c <ch> --bssid <AP> -w cap wlan0mon
⚑ Report as: “Rogue / unauthorised access point present / hidden SSID discoverable”
🛡 Fix: Maintain an authorised-AP inventory and run wireless IDS to detect rogues; hidden SSIDs are not security (they're discoverable from client probes) — rely on strong auth/encryption instead.

Survey & recon — full coverage

Checklist itemHow to testReport as
All SSIDs/BSSIDs/encryption/channelsairodump-ng surveyWireless inventory
Connected clients enumeratedairodump-ng per APClient inventory
Hidden SSID revealedobserve probes/deauthHidden SSID disclosure
Rogue/unauthorised APkismet / inventory diffRogue access point
Signal leakage beyond perimetersite surveySignal over-coverage

1   WEP & WPA2-PSK

WEP is broken outright. WPA2-PSK is cracked offline after capturing the 4-way handshake (deauth a client to force it) or the PMKID (clientless, often faster).

WPA2-PSK: handshake & PMKID

  1. Capture the 4-way handshake on the target AP's channel; deauth a connected client to force a re-handshake.
  2. Or capture the PMKID directly (no client needed) with hcxdumptool.
  3. Crack offline with hashcat against a wordlist/rules; weak/seasonal passphrases fall fast.
# Handshake capture + forced deauth
airodump-ng -c <ch> --bssid <AP> -w cap wlan0mon
aireplay-ng -0 5 -a <AP> -c <client> wlan0mon          # deauth -> handshake
# PMKID (clientless)
hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
hcxpcapngtool -o hash.hc22000 pmkid.pcapng
# Crack (handshake & PMKID share mode 22000)
hashcat -m 22000 hash.hc22000 rockyou.txt -r rules/best64.rule
⚑ Report as: “Weak WPA2-PSK passphrase cracked from captured handshake/PMKID / WEP in use”
🛡 Fix: Replace WEP immediately; use a long, random WPA2/WPA3 passphrase (or move to Enterprise 802.1X); enable management-frame protection (802.11w) to hinder deauth; rotate PSKs and don't reuse them across sites.

WEP / WPA2-PSK — full coverage

Checklist itemHow to testReport as
WEP encryption in usesurvey + aircrackWEP encryption
WPA2 handshake capturedairodump + deauthHandshake capture
PMKID captured (clientless)hcxdumptoolPMKID capture
Weak PSK cracked offlinehashcat -m 22000Crackable WPA2 passphrase
PSK reused across APs/sitescompare cracked PSKsReused pre-shared key
No 802.11w (deauth works)deauth testNo management-frame protection

2   WPA3

WPA3-SAE resists offline cracking, so the focus shifts to transition-mode downgrade (forcing WPA2) and known SAE implementation flaws (Dragonblood).

⚑ Report as: “WPA3 transition-mode downgrade to WPA2 / Dragonblood SAE weakness”
🛡 Fix: Use WPA3-only (not transition) mode where clients allow; patch APs/clients against Dragonblood (side-channel/downgrade); enable 802.11w (mandatory in WPA3); strong passphrases still matter.

WPA3 — full coverage

Checklist itemHow to testReport as
Transition-mode downgrade to WPA2rogue WPA2 + captureWPA3 downgrade
Dragonblood SAE weaknessversion/patch checkDragonblood vulnerability
Side-channel / timing on SAEpatch checkSAE side-channel
802.11w not enforceddeauth testManagement-frame protection gap

3   WPS

WPS (push-button/PIN) is a long-standing weakness: the PIN is brute-forceable (online and offline Pixie-Dust).

reaver -i wlan0mon -b <AP> -vv             # online PIN brute
bully wlan0mon -b <AP> -p <pin>
# Pixie-Dust (offline, fast on vulnerable chipsets)
reaver -i wlan0mon -b <AP> -K 1
⚑ Report as: “WPS PIN brute-forceable (online / Pixie-Dust offline)”
🛡 Fix: Disable WPS entirely; if a setup mechanism is needed, use push-button with a tight timeout and lockout on PIN failures; patch APs against Pixie-Dust.

WPS — full coverage

Checklist itemHow to testReport as
WPS enabledwash / surveyWPS enabled
WPS PIN online brutereaver/bullyWPS PIN brute force
Pixie-Dust offline attackreaver -KPixie-Dust vulnerability
No lockout on PIN failuresobserve behaviourNo WPS lockout

4   Enterprise 802.1X / EAP

WPA2/3-Enterprise authenticates per-user via 802.1X/EAP. The classic attack is an evil twin that impersonates the RADIUS endpoint and captures MSCHAPv2 credentials — possible when clients don't validate the server certificate.

  1. Stand up a rogue AP with the same SSID and an EAP server that captures credentials.
  2. If clients don't validate the server cert (or trust any), they hand over the identity + MSCHAPv2 challenge/response.
  3. Crack the captured MSCHAPv2 offline (or relay it).
# Evil twin that harvests EAP creds
eaphammer --cert-wizard                              # one-time cert
eaphammer -i wlan0 --essid CorpWiFi --channel 6 --auth wpa-eap --creds
# or hostapd-wpe (logs username + MSCHAPv2 challenge/response)
hostapd-wpe hostapd-wpe.conf
asleap -C <challenge> -R <response> -W rockyou.txt   # crack MSCHAPv2
⚑ Report as: “802.1X clients do not validate the RADIUS server certificate (evil-twin credential theft)”
🛡 Fix: Enforce server-certificate validation on every supplicant (pin the CA + RADIUS server name); use EAP-TLS (client certs) instead of PEAP/MSCHAPv2 where possible; deploy supplicant config via MDM/GPO so users can't accept rogue certs; monitor for duplicate-SSID rogue APs.

Enterprise 802.1X / EAP — full coverage

Checklist itemHow to testReport as
Clients do not validate server certeaphammer evil twinNo server-cert validation
PEAP/MSCHAPv2 creds capturedhostapd-wpe + asleapEAP credential theft
Weak EAP method (no EAP-TLS)review configWeak EAP method
Supplicant trusts any/added CArogue cert testPermissive supplicant trust
Identity exposed in outer EAPcapture identityEAP identity disclosure

5   Rogue AP / evil twin / captive portal

Beyond Enterprise, a same-SSID rogue AP (optionally with a fake captive portal) harvests PSK-network credentials and MITMs clients that auto-connect.

# Evil twin + captive portal credential harvest
eaphammer -i wlan0 --essid FreeWiFi --captive-portal
# or airgeddon / wifiphisher for guided evil-twin + portal flows
# bettercap for on-path MITM once clients associate
bettercap -iface wlan0
⚑ Report as: “Evil-twin rogue AP harvests credentials / MITMs auto-connecting clients”
🛡 Fix: Enable 802.11w and wireless IDS/WIPS to detect/contain rogues; configure clients not to auto-join open/unknown SSIDs; user awareness on captive-portal phishing; use Enterprise auth with server validation.

Rogue AP / evil twin / captive portal — full coverage

Checklist itemHow to testReport as
Same-SSID evil twineaphammer/airgeddonEvil-twin attack
Captive-portal credential phishingwifiphisher portalCaptive-portal phishing
Clients auto-connect to rogueobserve associationAuto-join to rogue AP
On-path MITM after associationbettercapWireless MITM
No WIPS / rogue containmentreview controlsNo rogue detection

6   Client-side attacks

Clients leak their preferred networks via probe requests; KARMA-style attacks answer those probes to lure clients onto a rogue AP without touching the real one.

# Harvest probed (preferred) SSIDs
airodump-ng wlan0mon                       # watch 'Probes' column
# Respond to any probe (KARMA) to lure clients
eaphammer -i wlan0 --essid ANY --karma
⚑ Report as: “Clients probe for / auto-join open preferred networks (KARMA lure)”
🛡 Fix: Configure clients to forget open networks and disable auto-join for non-Enterprise SSIDs; prefer randomised MAC + minimal probing; use Enterprise auth so a lured association still can't authenticate.

Client-side attacks — full coverage

Checklist itemHow to testReport as
Clients leak preferred SSIDs (probes)airodump probesPreferred-network leakage
KARMA / auto-join to rogueeaphammer --karmaKARMA association
Open-network auto-joinobserve behaviourOpen-network auto-join
Client connects despite cert errorrogue cert testClient trust bypass

7   Segmentation

Once on the wireless, what can you reach? Guest must not reach corporate, and wireless clients shouldn't freely reach the wired internal network.

# From the guest/wireless network, test reach into corporate/internal
nmap -sS -p 22,445,3389,1433 -Pn <corporate-host>
# Client isolation check: can you reach another wireless client?
ping <another-wireless-client-ip>
⚑ Report as: “Guest↔corporate wireless isolation broken / no client isolation”
🛡 Fix: Isolate guest SSIDs from corporate/internal (separate VLAN + firewall rules); enable client (station) isolation on guest; restrict wireless-to-wired access to least privilege; verify isolation rather than assuming.

Segmentation — full coverage

Checklist itemHow to testReport as
Guest → corporate reachablenmap from guestGuest-network isolation break
Wireless → wired internal over-permittedreachability testWireless-to-wired exposure
No client (station) isolationping peer clientNo client isolation
Guest reaches management planeprobe mgmtManagement reachable from guest
Bluetooth / BLE (if in scope)

B   Bluetooth / BLE

If Bluetooth/BLE devices are in scope: discovery, weak/just-works pairing, unauthenticated GATT characteristics, and sniffable traffic.

bluetoothctl ; hcitool lescan          # discovery
# Enumerate BLE services/characteristics
gatttool -b <MAC> -I  ->  primary ; char-desc ; char-read-hnd <handle>
# bettercap BLE module for scan/enumerate/write
bettercap -eval "ble.recon on"
⚑ Report as: “BLE device with weak pairing / unauthenticated readable-writable characteristics”
🛡 Fix: Use LE Secure Connections pairing (not Just Works) with authentication; require authorisation on sensitive GATT characteristics; encrypt links; minimise advertised data; rotate addresses.

Bluetooth / BLE — full coverage

Checklist itemHow to testReport as
Device discoverable / over-advertisinglescanExcessive BLE advertising
Weak/Just-Works pairingpairing analysisWeak BLE pairing
Unauthenticated GATT read/writegatttool char-read/writeUnauthenticated characteristic
Sniffable/unencrypted BLE trafficBLE snifferUnencrypted BLE
Static MAC (trackable)observe addressNo address randomisation

✓   Coverage map & how to run it

Survey first, then take the encryption path that applies; always check client-side and segmentation; add BLE if in scope.

SectionRun onFocus
Survey 0Every engagementInventory, rogue/hidden detection
WEP/WPA2-PSK 1PSK networksHandshake/PMKID crack
WPA3 2WPA3 networksDowngrade, Dragonblood
WPS 3WPS-enabled APsPIN brute / Pixie-Dust
Enterprise 4802.1X networksEvil twin, cert validation, EAP creds
Rogue/client/segmentation 5–7Every engagementEvil twin, KARMA, isolation
Bluetooth/BLEIf in scopePairing, GATT, sniffing

Core principle: the encryption type decides the attack — PSK is an offline crack, Enterprise is an evil-twin credential capture, WPA3 is a downgrade hunt. But the highest business impact is usually segmentation: prove (or break) guest↔corporate isolation, because joining the Wi-Fi is only useful if it reaches something. Tick a box only when you've actually run the test, in scope.

Reactions

Related Articles