Cap Cracker
crack / cc — Offline WPA/WPA2 .cap Cracker
Dictionary-attacks a captured handshake offline on the device. Reads a libpcap .cap/.pcap file, extracts either a 4-way handshake (M1 ANonce + M2 SNonce/MIC) or a PMKID, and tries passwords from one or more wordlists. Works on captures from karma, wpasniff (ws), pmkid (pm), or any external tool (aircrack-ng, hcxdumptool, …).
CMD> cc ← pick a .cap in the current dir, then a wordlist
CMD> cc MyNet.cap ← crack this cap, pick a wordlist
CMD> cc MyNet.cap rockyou.txt ← cap + explicit wordlist
CMD> cc MyNet.cap lists/ ← run EVERY *.txt in lists/
CMD> cc /apps/karma ← a directory → pick a .cap inside it
Paths are relative to your cd directory
Like cat/ls, cc resolves paths against the current SD working directory, so you can cd into the folder once and then pass bare filenames:
CMD> cd /apps/karma
CMD> cc MyNet.cap wordlist.txt
Tab-style autocomplete (' key) completes both files and directories for either argument.
| Argument | Accepts |
|---|---|
| cap | a .cap/.pcap file · a directory (lists caps inside to pick) · omitted (picks from the current dir) |
| wordlist | a .txt file · a directory (runs every *.txt) · omitted (picker: built-in / all *.txt here / one file) |
Wordlists
- Pass a single file, or a directory to run every
*.txtin it in sequence. - With no wordlist argument you get a picker: Built-in (100), ALL
*.txtin this dir, Type a path…, or any individual.txtfound in the current directory. - Type a path… lets you point at a wordlist file or directory anywhere on the card (not just the current dir) — press
'while typing to autocomplete file and directory names, exactly like the command line. A directory runs every*.txtinside it; a file runs just that file. - The built-in 100-password list always runs last as a fallback, so a quick
cc capalways tries something even with no SD wordlist. - Passwords shorter than 8 or longer than 63 characters are skipped (WPA limits).
Press q any time to abort; the screen shows live tries, rate, current wordlist, and candidate.
Resume a long crack
On-device cracking is slow (each candidate is a full PBKDF2 derivation), so a big wordlist can take a while. You don’t have to babysit it: press q to stop, use the device, and relaunch the same .cap with the same wordlist later — cc picks up at the exact byte offset where it left off instead of restarting from word 0. It resumes even across a reboot.
- The capture is identified by the BSSID + SSID read from inside the
.cap(not its filename), so two different networks that happen to share a filename resume independently, and two captures of the same network share progress. - The wordlist is identified by its full path + size, so different lists never share a cursor (even at the same size), the same list resumes whichever way you selected it, and editing a list re-arms it (its size changes). Saved to
/apps/capcrack/progress.csv. - A wordlist that was fully exhausted is skipped instantly on the next run (nothing left to try), and a successful crack clears its cursor.
- The small built-in 100-password list isn’t tracked — it finishes in seconds.
Background crack — cc bg (crack under the cover)
For long jobs you don’t want to babysit — or that you want to run in public behind the undercover disguise — start it in the background:
CMD> cc bg capture.cap big.txt # start straight away
CMD> cc bg # WATCH the running crack live (or start one if none is running)
CMD> cc # same — bare cc watches the running bg crack
CMD> cc bg status # live view if running, else the last outcome
CMD> cc bg stop # halt (the resume cursor is saved)
- Watch it live: once a bg crack is running,
ccorcc bgopens a real-time monitor (list %, tried, rate, current guess).[q]leaves without stopping (it keeps grinding), and[s]stops it right there (cursor saved). (To start a new foreground crack while one runs in the bg, pass a cap:cc <cap>.)cc bg stopstill works from the command line too. - It returns you to the CLI and shows a small
CCtag in the status bar while it runs. - It keeps cracking while you use the CLI and while the undercover cover is active — so a device that looks like a Notes app is quietly grinding your wordlist the whole time.
- It’s cooperative and single-threaded (time-sliced off the main loop), so it never fights the crypto hardware — rock-solid, at the cost of sharing CPU with whatever’s on screen. It throttles by screen state: while you’re looking at the undercover disguise (screen on) it pauses, so touch and the UI stay perfectly responsive; on the CLI (screen on) it cracks gently; and only when the screen is off (pocket / put down) does it crack hard — which is the real “grind in public” case.
- A hit is silent while under the cover (no beep to give you away) and is written to
cracked.csvregardless — you find it when you drop the disguise. - It yields the SD card automatically whenever WiFi is doing heavy DMA (a scan, monitor, evil-twin), so it’s safe to leave running alongside other tools.
- Uses the same resume cursor, so stopping, rebooting, or yielding to WiFi never loses progress.
On-device cracking is slow either way —
cc bgis for leaving a weak/common/wordlist-present password grinding over time, not for brute-forcing strong keys.
What it needs in the capture
To derive the PMK the cracker needs the network ESSID, which it reads from a beacon or probe-response frame in the .cap. Captures made by karma already include a beacon, so they work directly. If the cap has no beacon, cc reports noESSID and which handshake pieces were found (noM1 / noM2).
| Capture type | Needs |
|---|---|
| 4-way handshake | beacon (ESSID) + M1 + M2 |
| PMKID | beacon (ESSID) + M1 with a PMKID KDE |
Output
Cracked passwords are appended to:
/apps/capcrack/cracked.csv ← ssid,password,HS|PMKID
/apps/capcrack/progress.csv ← resume cursor: bssid,ssid,wordlist_id,offset
Crack it on a PC instead
For big wordlists, copy the .cap to a computer — it is standard libpcap (linktype 105):
aircrack-ng -w rockyou.txt MyNet.cap
# or
hcxpcapngtool -o hash.22000 MyNet.cap && hashcat -m 22000 hash.22000 rockyou.txt
Notes
- Reads the SD card only — no WiFi, no transmission. Safe to run any time.
- Classic pcap only (
.cap/.pcap), not pcapng. - The on-device crack is single-core PBKDF2 — fine for a targeted list, slow for huge ones; use the PC path for
rockyou-scale lists.
See also: Karma · WPA Handshake · PMKID