Identify hash types and crack them with dictionary attacks. Supports MD5, SHA family, NTLM, bcrypt and more.
_ _ _ _ _ _
| | | | | | | | | | | |
| |_| | __ _ ___| |__ | |_| |_ _ _ __ | |_ ___ _ __
| _ |/ _` / __| '_ \| _ | | | | '_ \| __/ _ \ '__|
| | | | (_| \__ \ | | | | | | |_| | | | | || __/ |
\_| |_/\__,_|___/_| |_\_| |_/\__,_|_| |_|\__\___|_|
Hash Identifier and Cracker v1.0
Three tools in one:
- Identify — detect hash type from a string or file
- Crack — dictionary attack to recover the plaintext
- Generate — create hashes from plaintext for testing
Works on single hashes, bulk files, and user:hash format dumps (e.g. /etc/shadow, NTLM dumps).
| Hash | Example length/prefix | Notes |
|---|---|---|
| MD5 | 32 hex chars | Also NTLM (same length) |
| SHA-1 | 40 hex chars | |
| SHA-224 / SHA3-224 | 56 hex chars | |
| SHA-256 / SHA3-256 | 64 hex chars | |
| SHA-384 | 96 hex chars | |
| SHA-512 / SHA3-512 | 128 hex chars | |
| NTLM | 32 hex chars | Windows password hashes |
| bcrypt | $2a$ / $2b$ |
Unix, Django, Laravel |
| MD5 Crypt | $1$ |
Linux /etc/shadow |
| SHA-256 Crypt | $5$ |
Linux /etc/shadow |
| SHA-512 Crypt | $6$ |
Linux /etc/shadow |
| WordPress / phpass | $P$ / $H$ |
|
| Drupal 7 | $S$ |
|
| Argon2 | $argon2 |
git clone https://github.com/DavidJara1998/HashHunter.git
cd HashHunter
pip install -r requirements.txtpython hashhunter.py --hash 5f4dcc3b5aa765d61d8327deb882cf99python hashhunter.py --hash 5f4dcc3b5aa765d61d8327deb882cf99 --crackpython hashhunter.py --hash 5f4dcc3b5aa765d61d8327deb882cf99 --crack --wordlist rockyou.txtpython hashhunter.py --file hashes.txt --crack --wordlist rockyou.txt# hashes.txt:
# admin:5f4dcc3b5aa765d61d8327deb882cf99
# root:e10adc3949ba59abbe56e057f20f883e
python hashhunter.py --file hashes.txt --crackpython hashhunter.py --generate --algo sha256 --text "mypassword"
python hashhunter.py --generate --algo ntlm --text "Password123"python hashhunter.py --file hashes.txt --crack --output html --hash, -H Single hash string
--file, -f File with hashes (one per line or user:hash)
--generate, -g Generate hash from plaintext
--crack, -c Attempt dictionary attack
--wordlist, -w Path to wordlist (default: built-in top 200)
--output, -o Export: html | json | both
--algo, -a Algorithm for --generate
--text, -t Plaintext for --generate
Hash: 5f4dcc3b5aa765d61d8327deb882cf99
Possible types:
MD5 / NTLM (medium confidence)
[*] Cracking with 14,344,391 words — algos: md5
[+] CRACKED: password
+-----------------------------------------------+
| Hash | Type | Conf | Plain |
|-----------------+------------+--------+--------|
| 5f4dcc3b5aa7... | MD5 / NTLM | MEDIUM | password|
+-----------------------------------------------+
- CTF challenges — you find a hash, identify it, crack it
- Post-exploitation — crack hashes from
/etc/shadowor Windows SAM dumps - Audit — verify password policy strength against a wordlist
- Development — generate hashes for testing
The built-in list contains the top 200 most common passwords — useful for quick checks.
For serious cracking use rockyou.txt:
python hashhunter.py --hash <hash> --crack --wordlist rockyou.txtFor authorized security testing only. Do not use against systems or accounts you do not own or have explicit permission to test.