Hands-On OSCP Prep Series · Lab 3

WiFi WPA2 Password Cracking
on Kali Linux

A complete step-by-step lab: capture a WPA2 handshake from a live WiFi network using an Alfa USB adapter, then crack the password using a dictionary attack — all inside Kali Linux 2025.

⏱ 45 Minutes
📶 Beginner–Intermediate
🛠 Kali Linux 2025.2
📡 Alfa AWUS036H
📅 March 2026
👤 Dr Pritam Gajkumar Shah
01

Lab Overview

📋

Lab at a Glance

Lab Title
WiFi WPA2 Password Cracking using the Aircrack-ng Suite
Objective
Capture a WPA2 4-way handshake and crack the password using a dictionary attack
Attacker
Kali Linux 2025.2 — VirtualBox VM
Hardware
Alfa AWUS036H — 1000mW High-Power USB WiFi Adapter
Target Network
WPA2-PSK — pritam's A17 (author's own test network)
Tools Used
airmon-ng  ·  airodump-ng  ·  aircrack-ng
Wordlist
/usr/share/wordlists/rockyou.txt (14 million passwords)
MITRE ATT&CK
TA0006 Credential Access  /  T1110 Brute Force
Difficulty
⭐⭐ Beginner–Intermediate
Time
~45 minutes (crack time varies by password complexity)

In this lab we perform a WPA2 dictionary attack — one of the most common real-world WiFi attacks and a core skill tested in the OSCP exam. We use the Aircrack-ng suite (pre-installed in Kali Linux) to put a USB WiFi adapter into monitor mode, capture the WPA2 4-way handshake when a device connects, then brute-force the password offline using rockyou.txt.

This technique works because WPA2-PSK authentication is based on a handshake that can be captured passively — the attacker never needs to interact with the router directly, and the cracking is done entirely offline.

⚠️
Legal & Ethical Notice

Only perform this lab on your own WiFi network or one you have explicit written permission to test. Capturing handshakes or cracking passwords on networks you do not own is a criminal offence in Australia and most countries. The network pritam's A17 is the author's own home network used solely for educational purposes.

02

Hardware Required — Alfa AWUS036H

The built-in WiFi adapter of most laptops does not support monitor mode or packet injection — the two capabilities required for this lab. You need an external USB WiFi adapter with the right chipset.

Alfa AWUS036H High-Power USB WiFi Adapter

Alfa AWUS036H

High-Power 1000mW USB WiFi Adapter — the industry standard for wireless penetration testing.

ChipsetQualcomm Atheros AR9271
Power1000mW (1W) — very high range
Standards802.11b/g/n
Monitor Mode✅ Supported natively in Kali
Packet Injection✅ Supported
ConnectionUSB 2.0 — pass-through to VirtualBox
💡
Connecting to VirtualBox

Once plugged into your Windows host, inside VirtualBox go to Devices → USB → Alfa AWUS036H to pass it through to Kali Linux. Kali will automatically detect it as wlan0.

03

Enabling Monitor Mode

By default, a WiFi adapter only processes packets addressed to its own MAC address (managed mode). We switch it to monitor mode so it captures all WiFi packets in the air — like switching from a private phone call to listening to all radio broadcasts simultaneously.

Step 1 — Enable Monitor Mode with airmon-ng

bash — root@kali
airmon-ng start wlan0
airmon-ng start wlan0 output showing Qualcomm Atheros AR9271 entering monitor mode
Figure 3.1 — airmon-ng detects the Alfa adapter as wlan0, chipset Qualcomm Atheros AR9271. It warns about 2 processes that may interfere — NetworkManager (PID 526) and wpa_supplicant (PID 819). Monitor mode is enabled, creating the new interface wlan0mon.

Step 2 — Kill Interfering Processes

NetworkManager and wpa_supplicant can push the adapter back to managed mode. Kill them using the PIDs shown in the airmon-ng output:

bash — root@kali
kill 526
kill 819
# Then confirm monitor mode is working
airodump-ng wlan0mon
Terminal showing kill 526 and kill 819 commands then airodump-ng wlan0mon
Figure 3.2 — After killing NetworkManager (PID 526) and wpa_supplicant (PID 819), we run airodump-ng on wlan0mon to confirm the adapter is working in monitor mode and scanning for networks.
⚠️
Your Internet Will Drop

Killing NetworkManager will disconnect your VM from the internet temporarily. This is expected — the Alfa adapter is now fully dedicated to packet capture. Your regular network adapter (enp0s3) for internet access is unaffected.

04

Scanning for WiFi Networks

Step 3 — Discover All Nearby Networks

bash — root@kali
airodump-ng wlan0mon
airodump-ng scan showing all nearby WiFi networks including pritam's A17 on channel 6
Figure 4.1 — airodump-ng displays all WiFi networks in range. Each row shows the BSSID (router MAC), signal strength (PWR), channel (CH), encryption (ENC), and network name (ESSID). Our target pritam's A17 is visible with BSSID 0E:73:1C:51:29:8F on Channel 6, WPA2 CCMP PSK.

From the scan we record these key details about our target:

FieldValueWhy It Matters
BSSID0E:73:1C:51:29:8FRouter's MAC address — needed to target this specific network
Channel6Must lock adapter to this channel to capture packets reliably
ENCWPA2Confirms this is a WPA2 network — our attack applies
AUTHPSKPre-Shared Key — a single WiFi password is used
ESSIDpritam's A17The network name — our target
05

Capturing the WPA2 Handshake

The WPA2 4-way handshake is the authentication exchange that happens when any device connects to a WPA2 network. It contains enough cryptographic information to crack the password offline — without staying connected to the network.

Step 4 — Target the Network and Start Capture

bash — root@kali
airodump-ng --bssid 0E:73:1C:51:29:8F --channel 6 -w kihe11 wlan0mon
FlagValuePurpose
--bssid0E:73:1C:51:29:8FOnly capture packets from this specific router
--channel6Lock adapter to channel 6 — stops channel hopping
-w kihe11kihe11Write captured packets to files starting with "kihe11"
wlan0monInterfaceUse our monitor mode interface
airodump-ng capturing packets from pritam's A17 showing WPA handshake captured
Figure 5.1 — airodump-ng locked onto pritam's A17. The top-right corner confirms WPA handshake: 0E:73:1C:51:29:8F has been captured. The station section shows two connected clients — one EAPOL (handshake) packet was recorded from A2:2C:2A:D3:74:0A. Press Ctrl+C to stop.
WPA Handshake Captured!

The message "WPA handshake: 0E:73:1C:51:29:8F" in the top-right confirms the handshake has been saved. This happens automatically when any device connects or reconnects to the target network.

Step 5 — Verify Captured Files

bash — root@kali
ls
ls output showing kihe11-01.cap and other network capture files
Figure 5.2 — The ls output confirms kihe11-01.cap was created — this is the packet capture file containing our WPA2 handshake. Multiple capture sessions from different networks are also visible from previous lab sessions.
06

Cracking the Password

We perform an offline dictionary attack. Aircrack-ng tries each password from rockyou.txt, computes what the handshake would look like with that password, and compares it to our captured handshake until it finds a match.

Step 6 — Launch the Dictionary Attack

bash — root@kali
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 0E:73:1C:51:29:8F kihe11-01.cap
aircrack-ng command reading kihe11-01.cap with rockyou.txt wordlist 763 packets
Figure 6.1 — aircrack-ng reads kihe11-01.cap (763 packets) and begins testing passwords from rockyou.txt against the captured WPA2 handshake. The -b flag filters to only process the specific BSSID we are targeting.

Step 7 — KEY FOUND!

Aircrack-ng 1.7 showing KEY FOUND password cracked from rockyou.txt
Figure 6.2 — Aircrack-ng 1.7 displays KEY FOUND! [ password ] — the WiFi password has been successfully cracked. The Master Key, Transient Key, and EAPOL HMAC values confirm the match is cryptographically verified. The literal password was "password" — one of the most common entries in rockyou.txt.
🎉
Password Cracked Successfully!

Aircrack-ng found "password" — near-instantly because it appears very early in the rockyou.txt wordlist. This demonstrates why using common or simple passwords for WiFi is extremely dangerous.

Crack Time Depends on Password Complexity

The screen showed "2 days, 11 hours" as worst-case estimated time — that is if the password is near the end or not in the list at all. Common passwords like "password123" are found within seconds. A truly random 16-character password would not be in rockyou.txt at all.

07

Defensive Measures

Understanding this attack allows you to harden your own network effectively. Here are the five most important protections:

🔑 Use a Long, Random WiFi Password

The single most effective defence. Use at least 16 random characters — not words from the dictionary. A password like Xk9!mP2#vQr7&nLw would never appear in rockyou.txt and would take centuries to brute-force.

📡 Upgrade to WPA3

WPA3 uses Simultaneous Authentication of Equals (SAE) which prevents offline dictionary attacks entirely. The 4-way handshake attack does not work against WPA3. Check if your router supports WPA3 and enable it in settings.

📶 Disable WPS

WPS PIN brute-force is a separate attack vector that bypasses WPA2 entirely. Most routers have WPS enabled by default. Disable it in your router admin panel immediately.

🔒 Use a Guest Network for IoT

Segment your network. If an attacker cracks your IoT WiFi, they cannot reach your main computers and sensitive devices on the separate primary network.

👁 Monitor for Deauthentication Attacks

Tools like Kismet can detect mass deauthentication frames — a sign someone is forcing handshake captures. Enable management frame protection (802.11w) if your router supports it.

08

Conclusion & Learning Outcomes

In this lab we successfully put an Alfa AWUS036H adapter into monitor mode, scanned nearby WiFi networks, targeted a WPA2 network, captured the 4-way authentication handshake, and cracked the password using a dictionary attack — all using tools built into Kali Linux 2025.

The key lesson: WPA2 with a weak or common password offers almost no protection. The handshake is captured silently and passively, cracking is done entirely offline, and the router never logs a single failed attempt.

Attack Flow Summary

01
airmon-ng start wlan0
Enable monitor mode — creates wlan0mon interface
02
kill 526 && kill 819
Stop NetworkManager and wpa_supplicant from interfering
03
airodump-ng wlan0mon
Scan all nearby networks — identify target BSSID and channel
04
airodump-ng --bssid <BSSID> --channel <CH> -w capture wlan0mon
Lock onto target — wait for WPA handshake capture
05
aircrack-ng -w rockyou.txt -b <BSSID> capture-01.cap
Offline dictionary attack — test millions of passwords
06
KEY FOUND! [ password ]
Password cracked — WiFi access obtained

After this lab, you can:

  • Explain how WPA2 4-way handshake authentication works
  • Put a compatible USB WiFi adapter into monitor mode using airmon-ng
  • Scan and identify nearby WiFi networks using airodump-ng
  • Capture a WPA2 handshake from a target network
  • Run an offline dictionary attack using aircrack-ng and rockyou.txt
  • Explain why weak WiFi passwords are catastrophically insecure
  • Implement at least 3 specific defences against this attack on your own network

MITRE ATT&CK Mapping

Tactic
TA0006 — Credential Access
Technique
T1110 — Brute Force: Password Cracking
Sub-technique
T1110.002 — Password Cracking (offline)
Pre-requisite
T1040 — Network Sniffing (to capture the handshake)
Detection
Monitor for mass deauthentication frames (802.11 type=00, subtype=1100)
🚀
Coming Up in Lab 4

In the next lab we explore Metasploit Framework — scanning for vulnerabilities, selecting exploit modules, gaining a shell on a target machine, and introducing Meterpreter post-exploitation sessions.

🙏

Acknowledgements

This lab demonstration was made possible with the enthusiastic participation and support of the following students, who helped set up, test, and validate each step of this hands-on experiment. Their dedication to practical cybersecurity learning is truly commendable.

👩‍💻
Aruna Maharjan
Lab Demonstrator
👨‍💻
Jaswinder Singh
Lab Demonstrator
👨‍💻
Kuldeep Yadav
Lab Demonstrator
👨‍💻
Sajjan Adhikari
Lab Demonstrator

— Dr Pritam Gajkumar Shah extends his sincere gratitude to all four students for their time, effort, and commitment to making this practical cybersecurity resource possible.

Dr Pritam Gajkumar Shah
Dr Pritam Gajkumar Shah
Cybersecurity Academic & Researcher | PhD Information Sciences
AusJournal & CyberPritam  |  Australian Higher Education

Dr. Pritam Gajkumar Shah is an Australian-based computer science academic and cybersecurity specialist with extensive experience in teaching, research, and curriculum development in information technology and cyber security. He holds a Ph.D. in Information Sciences and Engineering from the University of Canberra, where his research focused on elliptic curve cryptography for resource-constrained wireless sensor networks. He is the founder of CyberPritam, a global cybersecurity learning platform that has provided free practical training to thousands of international students, and AusJournal, an academic publishing initiative supporting research dissemination and technical education.