Let's break down the components:
-
WPA PSK: This refers to the pre-shared key used in WPA (Wi-Fi Protected Access) and WPA2 wireless security protocols. A PSK is essentially a password that users enter to connect to a Wi-Fi network.
-
Wordlist: A wordlist is a collection of words, phrases, or strings that can be used for various purposes, including brute-force attacks on password-protected systems. In this context, a WPA PSK wordlist would contain a list of potential passwords.
-
3 Final 13 GB20 Top: This part seems to specify certain criteria or a particular version/edition of the wordlist. It could indicate:
- Version or Part Number: "3 Final" might suggest it's the third and final version of a particular dataset.
- Size: "13 GB" could refer to the size of the wordlist, implying it contains 13 gigabytes of data.
- Top List: "20 Top" might indicate it's a top 20 list or a selection of the top entries based on some criteria.
Creating or distributing wordlists for the purpose of cracking security can be controversial and, in many cases, illegal. However, these tools can also be used ethically, such as by network administrators to test the security of their own networks.
If you're looking to secure your Wi-Fi network, here are some best practices:
-
Use a Strong PSK: Choose a password that is long (at least 12 characters) and complex, including a mix of letters (both uppercase and lowercase), numbers, and special characters.
-
Use WPA3: If your devices support it, use WPA3, the latest Wi-Fi security protocol, which offers more robust protections than WPA2.
-
Regularly Update Firmware: Keep your router's firmware up to date to protect against known vulnerabilities.
-
Implement Additional Security Measures: Consider implementing MAC address filtering, disabling WPS (Wi-Fi Protected Setup), and setting up a guest network for visitors.
Understanding WPA-PSK and Wordlists
WPA-PSK (Wi-Fi Protected Access Pre-Shared Key) is the security protocol used to secure wireless networks. It relies on a passphrase (the PSK) to derive encryption keys.
In a security audit, a wordlist (or dictionary) is used to simulate a password cracking attempt. This is typically done by capturing the "handshake" (the 4-way authentication process between a client and the router) and testing potential passphrases against that captured data offline.
Defensive Security Implications
Understanding how these lists work is crucial for network defense:
- Password Complexity: If a passphrase is not in a wordlist and is sufficiently complex (e.g., longer than 12 characters with mixed case, numbers, and symbols), it is highly resistant to dictionary attacks.
- WPA3: Modern protocols like WPA3-SAE (Simultaneous Authentication of Equals) are designed to mitigate offline dictionary attacks by making the handshake capture significantly more difficult to exploit compared to WPA2-PSK.
Creating Custom Wordlists
For authorized security testing, downloading massive pre-made lists is not always efficient. Professionals often generate their own lists using tools like the crunch utility in Linux.
Crunch allows users to generate wordlists based on specific criteria, such as minimum and maximum length and specific character sets.
Example Syntax: To generate a list of passwords between 8 and 10 characters long using only lowercase letters:
crunch 8 10 abcdefghijklmnopqrstuvwxyz -o custom_list.txt
To generate a list using a specific pattern (e.g., a company name followed by numbers):
crunch 8 8 -t Company@@ -o company_list.txt
(Where @@ represents two numbers).
Software Tools
- Hashcat – For GPU-accelerated dictionary attacks.
hashcat -m 2500 -a 0 wpa_handshake.hccapx wpa_psk_wordlist_3_final.txt - John the Ripper – With
--wordlistand--rules=bestfor mangling. - Pyrit or Cowpatty – Legacy tools, but slower for 13 GB.
- Wigle.net – Not for cracking, but for identifying common SSID-to-password correlations.
2. You want to generate a similar wordlist programmatically
A minimal Python snippet to create a basic WPA PSK wordlist (common patterns + numbers):
# Basic WPA PSK wordlist generator (small scale) common = ["password", "admin", "12345678", "qwerty", "wifi", "internet", "network"] suffixes = ["", "123", "2024", "!", "2025"]
with open("my_wpa_psk.txt", "w") as f: for base in common: for suf in suffixes: f.write(base + suf + "\n")
But that won’t be 13 GB — real large wordlists combine rockyou, SecLists, and custom rules.
The Role of Wordlists
A wordlist, in the context of network security, is a list of potential passwords. These lists are often used in brute-force attacks or dictionary attacks to guess a password. Wordlists can be generated or collected from various sources, including common passwords, dictionary words, or previously leaked password databases.
Part 3: Why 13 GB? The Economics of Storage vs. Speed
Thirteen gigabytes is an awkward size. It is too large for a default Raspberry Pi, but too small for a 16TB HDD. There is a specific reason for this size.
- RAM Constraints: Most dedicated cracking rigs (using Hashcat) run on GPUs with 8GB to 24GB of VRAM. A 20GB uncompressed wordlist can be memory-mapped (loaded via disk streaming) but cannot fit entirely into GPU memory. The "13 GB20" forces the cracker to use
--stdoutpiping or rules, preventing GPU memory overflow. - SSD vs. HDD: At 20GB uncompressed, spinning hard drives (5400 RPM) will fail. You require an NVMe SSD to stream this list at over 500MB/s, otherwise, the disk becomes the bottleneck.
- The 24-Hour Rule: Security professionals often assume they have 24 hours to crack a handshake before a target rotates the key. 13GB, when piped through
hashcat -a 0 -w 4on an RTX 4090, yields approximately 1.5-2 billion passwords per hour. 13GB (~3.5 billion lines) fits perfectly inside a 24-hour window.
The Goal: Auditing WPA PSK Handshakes
When you capture a WPA 4-way handshake (using tools like airodump-ng or Bettercap), the password is not transmitted. Instead, you have a hashed value (PBKDF2-SHA1 with 4096 iterations). To verify a candidate password, you must compute the Pairwise Master Key (PMK) – a computationally expensive operation.
A 13 GB wordlist attempts to match the actual PSK by trying billions of candidates. With GPU acceleration (e.g., Hashcat on an NVIDIA RTX 4090), you can achieve:
- ~1 million PMKs per second on WPA/WPA2
- Total time to exhaust 2 billion passwords ≈ 33 minutes (theoretically). In practice, due to disk I/O and PCIe bottlenecks, ~1-2 hours.