HASHCAT SYNTAX
hashcat [options] hashfile [wordlist|mask]
hashcat -m <mode> -a <attack> hashes.txt wordlist.txt
hashcat -m <mode> -a 3 hashes.txt <mask>
hashcat --identify hashes.txt
hashcat -m <mode> hashes.txt --show
COMMON HASH MODES (-m)
| MODE | HASH TYPE | EXAMPLE HASH | STRENGTH |
| 0 | MD5 | 5d41402abc4b... | Very Weak |
| 100 | SHA-1 | aaf4c61ddcc5... | Weak |
| 1000 | NTLM | b4b9b02e6f09... | Weak |
| 1400 | SHA-256 | 5e884898da28... | Medium |
| 1700 | SHA-512 | cf83e1357eef... | Strong |
| 3200 | bcrypt | $2a$12$... | Very Strong |
| 500 | MD5crypt ($1$) | $1$salt$hash | Medium |
| 1800 | SHA-512crypt ($6$) | $6$salt$hash | Strong |
ATTACK MODES (-a)
| MODE | NAME | DESCRIPTION |
| 0 | Dictionary | Test words from a wordlist file |
| 1 | Combinator | Combine two wordlists together |
| 3 | Mask (Brute-force) | Generate passwords from a pattern mask |
| 6 | Hybrid Dict+Mask | Wordlist words + mask appended |
| 7 | Hybrid Mask+Dict | Mask prepended + wordlist words |
MASK CHARSETS
| MASK | CHARACTER SET | EXAMPLE |
| ?l | Lowercase a-z | a,b,c... |
| ?u | Uppercase A-Z | A,B,C... |
| ?d | Digits 0-9 | 0,1,2... |
| ?s | Special chars | !,@,#,$... |
| ?a | All printable | ?l+?u+?d+?s |
Example mask for "Summer2024!" → ?u?l?l?l?l?d?d?d?d?s
USEFUL FLAGS
| FLAG | DESCRIPTION |
| --identify | Auto-detect hash type |
| --show | Display cracked passwords |
| --force | Ignore warnings (use in VMs) |
| --rules-file | Apply mangling rules |
| -o output.txt | Save cracked hashes to file |
| --status | Show live cracking progress |
| --potfile-path | Custom pot file location |
HOW TO IDENTIFY HASH TYPE
1. Run hashcat --identify hashes.txt
2. Look at the hash length and prefix:
• 32 chars, hex = likely MD5 (mode 0)
• 40 chars, hex = likely SHA-1 (mode 100)
• 32 chars, hex, Windows = likely NTLM (mode 1000)
• 64 chars, hex = likely SHA-256 (mode 1400)
• Starts with $2a$ = bcrypt (mode 3200)