New face. Good. Sit down, don't touch anything yet.
I run wireless engagements. Drive-by audits, retail Wi-Fi pentests, the occasional "we forgot what password the warehouse AP uses" recovery job. All authorised. All paid. All boring until something breaks.
Today you're going to crack two networks. One WEP, one WPA2-PSK. WEP is dead, has been since 2007, but you still find it on legacy industrial gear, old printers, that one IP camera nobody updated since 2015. WPA2 is what you'll actually encounter in the field.
The kit on this terminal is a simulated Pineapple. Same commands as the real
Let's see what's in range.
Right now all of these interfaces are in managed mode they can talk to access points like a normal client. That's not what we want, we'll change that in the next step.
Managed mode is for clients. We're not a client. We're an observer.
To capture wireless frames without being associated to an AP, the card has to be put into monitor mode, listening to everything in range on a given channel, including traffic not addressed to us. This is the foundation of every Wi-Fi attack.
The tool is
You can actually choose any interface available, if you have an issue with wlp2s0, just switch to another one after you've got your flag; but make sure that you keep the same number in every future command!
Now we listen.
You'll see noise. Real airspace is crowded, every café, every neighbour's router, every IoT light bulb. Your job is to find the targets you've been authorised to test.
For this engagement, you're looking for two networks:
→ POWERZIO_OLD: old wireless, the WEP one
→ Powerzio_Internal: operations Wi-Fi, WPA2
Note their BSSIDs and channels. You'll need both.
The output has two sections: top is access points, bottom is clients (called STATIONs). The encryption column is what tells you the attack you need,WEP ,WPA ,WPA2 , orOPN for open.
We start with WEP. It's the easier kill.
WEP uses a fixed key with a 24-bit Initialization Vector (IV) prepended to each packet. The IV is reused often enough that with about 10,000–40,000 captured IVs, you can mathematically recover the key. No password guessing. Pure cryptographic weakness.
Step one: stop scanning everywhere. Lock onto the WEP target's BSSID and channel, and write everything to a file. The more IVs we capture, the faster the crack.
sudo airodump-ng --ivs -c <channel> --bssid <BSSID> -w wep_capture wlan0monIn a real engagement, when traffic is sparse, you can useaireplay-ng to generate fake traffic and force the AP to produce more IVs.
You should now have a
Time to run the actual crack.
The recovered key appears in both hex and ASCII formats. Real WEP keys are 5 or 13 ASCII characters (40-bit and 104-bit respectively). The key it finds is the actual passphrase someone configured on the AP.
WPA2 is a different animal.
There's no IV weakness to exploit. The key is hashed with the SSID as salt, then used to derive session keys via a 4-way handshake when a client connects. Our only opening is to capture that handshake and brute-force the passphrase offline.
That means: we need a client to connect (or reconnect) to the AP while we're listening.
If nobody connects during your capture window, you've got nothing. Patience or pressure: that's the choice.
sudo airodump-ng -c <channel> --bssid <BSSID> -w wpa_capture wlan0monWithout a handshake there's nothing to crack. The capture file might be 50MB of pure traffic, but if the 4-way handshake isn't in it,aircrack-ng will refuse to even try.
Waiting for someone to voluntarily reconnect could take hours. We've got a faster option: kick them off.
You'll need a second terminal session for this. Keep airodump-ng running in the first one and watch for the handshake notification while you deauth from the second.
sudo aireplay-ng --deauth 10 -b <AP_BSSID> -d <STATION_MAC> wlan0monThe--deauth 10 sends 10 deauth frames. More is louder but also more likely to be logged by intrusion detection. Real engagements: be surgical. Send 3-5, wait, send a few more if needed.
Handshake captured. Now the slow part.
Unlike WEP, WPA2 doesn't yield to math; it yields to wordlists.
If it's not in the wordlist, you fail. Real engagements: pick wordlists carefully, generate custom ones from OSINT (company name, hometown, founding year, common patterns), and budget hours-to-days for the crack.
For this lab, the password is in
sudo aircrack-ng -w /var/aircrack/fortinet-2021_passwords.txt wpa_capture-01.capIn real life, you'd usehashcat on a GPU. It's hundreds of times faster than aircrack-ng's CPU-bound implementation.aircrack-ng is fine for teaching and tiny lists. For a real engagement: convert the handshake withhcxpcapngtool and let a GPU rig chew through it.