Wordlists and Wordlist Generation
3 min readArticle
A wordlist (dictionary) is a file with one password candidate per line. The quality of your wordlist directly determines your cracking success. rockyou.txt is your starting point, but targeted custom wordlists often crack things that generic lists miss.
Standard Wordlists
bash
# Kali pre-installed
/usr/share/wordlists/rockyou.txt # 14M passwords, leaked from RockYou breach
/usr/share/wordlists/fasttrack.txt # Common passwords
/usr/share/wordlists/dirb/common.txt # Web directory brute force
/usr/share/seclists/ # SecLists — comprehensive collection
# Install SecLists (if not present)
sudo apt install seclists
ls /usr/share/seclists/Passwords/
# Download rockyou if compressed
gunzip /usr/share/wordlists/rockyou.txt.gz
Custom Wordlist Tools
| Tool | What It Does | Best For |
|---|---|---|
| cewl-custom-wordlist-generator | Scrapes target website for words | Target-specific vocabulary |
| wyd | Personal info mutations | Known-target attacks |
| crunch-wordlist-generator | Pattern/charset generation | Specific formats |
| rsmangler-wordlist-mangler | Mangles existing wordlists | Expanding known words |
| Hashcat rules | Apply transformations during cracking | Any wordlist |
| Mentalist | GUI wordlist builder | Visual workflow |
Wordlist Building Workflow
bash
# Step 1: Get base words from target website
cewl https://target.com -d 3 -m 5 -w website_words.txt
# Step 2: Add known personal info
echo -e "company\nceo_name\ncity\n2024\n1990" >> website_words.txt
# Step 3: Mangle
rsmangler --file website_words.txt > mangled.txt
# Step 4: Combine with rockyou for WiFi attacks
cat mangled.txt /usr/share/wordlists/rockyou.txt > combined.txt
sort -u combined.txt > final.txt
# Step 5: Attack
hashcat -m 22000 handshake.hc22000 final.txt
Hashcat Rules (Best Force Multiplier)
Rules apply transformations during cracking — no need to pre-generate mutations:
bash
# Available rules
ls /usr/share/hashcat/rules/
best64.rule # 64 best rules, good starting point
d3ad0ne.rule # More comprehensive
dive.rule # Very comprehensive, slow
OneRuleToRuleThemAll.rule # Popular community rule
# Apply rules
hashcat -m 1000 hashes.txt rockyou.txt -r best64.rule
hashcat -m 1000 hashes.txt rockyou.txt -r d3ad0ne.rule
# Stack multiple rules
hashcat -m 1000 hashes.txt rockyou.txt -r best64.rule -r toggles1.rule
Custom Rules (Hashcat Rule Syntax)
shell
# Common rule operators
l = lowercase all
u = uppercase all
c = capitalize
r = reverse
d = duplicate
$X = append X (e.g., $1 appends "1")
^X = prepend X
sXY = substitute X with Y (e.g., sa4 replaces a with 4)
bash
# Create custom rule file
cat > custom.rule << 'EOF'
: # original word
c # Capitalize
u # UPPERCASE
$1 # append 1
$! # append !
c$1 # Capitalize + append 1
sa@ # replace a with @
EOF
hashcat -m 1000 hashes.txt wordlist.txt -r custom.rule
Password Patterns (Know Your Target)
Different environments have different common password patterns:
Corporate environments:
CompanyName + year(CompanyName2024)Season + year(Summer2024!)CapitalWord + numbers + special
Home users:
pet names,hobbies,sports teams- Birth years, anniversary dates
- Name + year combos
Default credentials to try first:
shell
admin/admin
admin/password
admin/(blank)
admin/1234
root/root
user/user
Useful One-Liners
bash
# Sort and deduplicate a wordlist
sort -u wordlist.txt > clean_wordlist.txt
# Count unique passwords
wc -l wordlist.txt
# Filter by length (e.g., 8-20 chars)
awk 'length >= 8 && length <= 20' rockyou.txt > rockyou_filtered.txt
# Combine multiple lists
cat list1.txt list2.txt list3.txt | sort -u > combined.txt
# Extract passwords from Hashcat potfile
cut -d: -f2 ~/.hashcat/hashcat.potfile > cracked_passwords.txt
# Generate from pattern with Crunch
crunch 8 8 -t Password%%%% > pw_with_digits.txt
Sub-pages
- cewl-custom-wordlist-generator — Website wordlist scraper
- wyd — Personal info wordlist generator
- crunch-wordlist-generator — Pattern-based generation
- rsmangler-wordlist-mangler — Wordlist mangling
techzonesite.comUnlock Your IT Potential