This guide provides detailed instructions on using the dicti0nary-attack tool.
Generate 1000 passwords using leetspeak:
dicti0nary generate -g leetspeak -n 1000Crack a SHA256 hash:
dicti0nary crack <hash> -a sha256 -g patternGenerate non-dictionary passwords.
dicti0nary generate [OPTIONS]Options:
- -g, --generator - Generator type (leetspeak, phonetic, pattern, random, markov)
- -n, --count - Number of passwords to generate
- -o, --output - Output file path
- -f, --format - Output format (text, json, csv)
- --min-length - Minimum password length
- --max-length - Maximum password length
Examples:
# Generate 5000 leetspeak passwords
dicti0nary generate -g leetspeak -n 5000
# Generate passwords and save to file
dicti0nary generate -g pattern -n 10000 -o passwords.txt
# Generate with custom length constraints
dicti0nary generate -g random -n 1000 --min-length 12 --max-length 20Crack a password hash.
dicti0nary crack <HASH> [OPTIONS]Options:
- -a, --algorithm - Hash algorithm (md5, sha1, sha256, sha512, etc.)
- -g, --generator - Generator to use for passwords
- -w, --wordlist - Use wordlist file instead of generator
- -p, --parallel - Enable parallel processing
- --workers - Number of worker processes (default: 4)
Examples:
# Crack using pattern generator
dicti0nary crack 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 -a sha256 -g pattern
# Crack using wordlist
dicti0nary crack <hash> -a md5 -w wordlists/my_list.txt
# Crack with parallel processing
dicti0nary crack <hash> -a sha256 -g leetspeak -p --workers 8Create a custom wordlist file.
dicti0nary create-wordlist <PATH> [OPTIONS]Options:
- -g, --generator - Generator type (required)
- -n, --count - Number of passwords to generate (default: 10000)
Examples:
# Create leetspeak wordlist
dicti0nary create-wordlist wordlists/leetspeak.txt -g leetspeak -n 50000
# Create phonetic wordlist
dicti0nary create-wordlist wordlists/phonetic.txt -g phonetic -n 10000Hash a password for testing.
dicti0nary hash-password <PASSWORD> [OPTIONS]Options:
- -a, --algorithm - Hash algorithm (default: sha256)
Examples:
# Hash with SHA256
dicti0nary hash-password "mypassword"
# Hash with MD5
dicti0nary hash-password "mypassword" -a md5Converts normal words using character substitutions: - a → 4, @ - e → 3 - i → 1, ! - o → 0 - s → 5, $ - etc.
Best for: Passwords where users think they’re clever (P@ssw0rd)
Uses phonetic substitutions: - for → 4 - to → 2 - you → u - see → c - etc.
Best for: Passwords using text-speak (cu2nite, brb)
Generates pattern-based passwords: - Keyboard walks (qwerty, asdfgh) - Sequential patterns (abc123, 123456) - Date patterns (01011990) - Repeating patterns (aaabbb)
Best for: Predictable patterns
-
Use Parallel Processing: Enable
-pflag for multi-core systems -
Adjust Worker Count: Use
--workersto match your CPU cores -
Choose Right Generator: Pattern generator is often fastest for common passwords
-
Batch Size: Configure in config file for optimal performance
Generate passwords once and test against multiple hashes by using wordlist mode:
# Generate wordlist
dicti0nary create-wordlist wordlists/test.txt -g pattern -n 100000
# Use for multiple cracks
dicti0nary crack <hash1> -w wordlists/test.txt -a sha256
dicti0nary crack <hash2> -w wordlists/test.txt -a sha256Create a YAML or JSON configuration file:
# my_config.yaml
generators:
leetspeak:
max_substitutions: 5
min_length: 8
max_length: 20
cracker:
algorithm: sha512
workers: 8
batch_size: 5000Use with commands:
dicti0nary --config my_config.yaml generate -g leetspeak -n 1000Test if users are using leetspeak variations of dictionary words:
# Generate leetspeak variations
dicti0nary create-wordlist audit_wordlist.txt -g leetspeak -n 100000
# Test against company password hashes
dicti0nary crack <hash> -w audit_wordlist.txt -a sha256Quickly test common non-dictionary patterns:
dicti0nary crack <ctf_hash> -a md5 -g pattern -pGenerate datasets for password strength analysis:
# Generate multiple wordlists
dicti0nary create-wordlist data/leetspeak.txt -g leetspeak -n 50000
dicti0nary create-wordlist data/phonetic.txt -g phonetic -n 50000
dicti0nary create-wordlist data/patterns.txt -g pattern -n 50000
# Analyze with your tools
python analyze_passwords.py data/*.txtAuthorized Use: - Penetration testing with explicit written permission - Security audits of systems you own - CTF competitions - Academic research - Password strength analysis on your own data
Prohibited Use: - Unauthorized access to computer systems - Cracking passwords without permission - Any illegal activity
Violating these terms may result in criminal prosecution under computer fraud and abuse laws.
View built-in help:
dicti0nary --help
dicti0nary generate --help
dicti0nary crack --helpReport issues: - GitHub: https://github.com/Hyperpolymath/dicti0nary-attack/issues