hashcat
World’s fastest and most advanced password recovery utility supporting over 300 highly-optimized hashing algorithms. Hashcat enables CPU, GPU, and hardware-accelerated cracking with multiple attack modes.
Description
Hashcat is designed for advanced password recovery, supporting five unique modes of attack across over 300 hashing algorithms including MD5, SHA1, SHA256, bcrypt, NTLM, WPA/WPA2, and many others from various systems like Unix, Cisco, databases, and web applications. It offers comprehensive coverage of hash keyspaces through techniques like dictionary attacks, brute-force, hybrid, mask, combinator, rule-based, and PRINCE attacks.
Use cases include cracking hashes from penetration testing, forensics, and security assessments. It leverages optimized OpenCL kernels for high performance on CPUs, GPUs, and accelerators, with facilities for distributed cracking. Benchmarks help measure device speeds, while features like optimized kernels balance speed and password length support.
The tool provides detailed session monitoring, progress tracking, and output formats for recovered passwords. Supporting packages like hashcat-data supply charsets, rules, salts, and tools for enhanced attacks.
How It Works
Hashcat uses hand-optimized OpenCL kernels for massively parallel cracking on CPUs, GPUs, and hardware accelerators. It supports attack modes such as straight dictionary (mode 0), combination (1), brute-force (3), hybrid wordlist+mask (6), hybrid mask+wordlist (7), and association (9). Optimized kernels (--O) maximize speed but limit password length; unoptimized kernels handle longer passwords at reduced performance. Benchmarks (-b) test speeds on supported hash types like MD5 (0), SHA1 (100), SHA2-256 (1400). Workload profiles tune performance vs. impact, with built-in charsets (?l, ?u, ?d) for masks.
Installation
sudo apt install hashcatFlags
Examples
hashcat -bhashcat -m 500 example500.hash /usr/share/wordlists/sqlmap.txthashcat -a 0 -m 400 example400.hash example.dicthashcat -a 0 -m 0 example0.hash example.dict -r rules/best64.rulehashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?ahashcat -a 1 -m 0 example0.hash example.dict example.dicthashcat -a 9 -m 500 example500.hash 1word.dict -r rules/best64.rule