Password Attackspasswordcrackinghashgpucpuwordlistbrute-forcedictionary

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

bash
sudo apt install hashcat

Flags

-bRun benchmark test on all supported hash types to determine cracking speed
-m 500Use md5crypt mode (Hash-type, references below; otherwise autodetect)
-OUse optimized kernel code for higher speed (limits maximum supported password length)
-wDisable optimized kernel code in benchmark mode
--forceOverride non-native OpenCL runtime warnings
-aAttack-mode, see references below (e.g., 0 Straight, 3 Brute-force)
-mHash-type (e.g., -m 0 for MD5, -m 400 for phpass)
-hPrint help. Use -hh to show all supported hash-modes

Examples

Run a benchmark test on all supported hash types to determine cracking speed
hashcat -b
Crack md5crypt ($1$) sample hash with provided wordlist in dictionary attack mode
hashcat -m 500 example500.hash /usr/share/wordlists/sqlmap.txt
Wordlist attack (mode 0) on phpass ($P$) hash with dictionary file
hashcat -a 0 -m 400 example400.hash example.dict
Wordlist + rules attack on MD5 hash using best64.rule
hashcat -a 0 -m 0 example0.hash example.dict -r rules/best64.rule
Brute-force attack (mode 3) on MD5 hash with 6-character mask (?a for all chars)
hashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?a
Combinator attack (mode 1) on MD5 hash combining two dictionary files
hashcat -a 1 -m 0 example0.hash example.dict example.dict
Association attack (mode 9) on md5crypt ($1$) hash with wordlist and rules
hashcat -a 9 -m 500 example500.hash 1word.dict -r rules/best64.rule
Updated 2026-04-16kali.org ↗