
Hashcat is widely considered the fastest and most versatile password recovery tool available today, built specifically to take advantage of GPU acceleration across a massive range of hash types. Where CPU-based tools eventually hit a performance ceiling against large or complex password sets, Hashcat's architecture makes it the standard choice for professional password audits, penetration testing, and forensic recovery work.
This tutorial walks through installing Hashcat, identifying hash types, running your first cracking session, and progressing to advanced attack modes like combinator and rule-based attacks, all in the context of authorized security testing. SageFox Cybersecurity relies on Hashcat as part of internal password audits and authorized engagements, and this guide reflects the practical workflow we use with clients.
Hashcat's primary strength is its ability to leverage GPU compute power, which can process billions of hash guesses per second depending on hardware, compared to the far more limited throughput of CPU-only tools. For organizations conducting internal password policy audits, this speed difference is the reason a realistic assessment of password strength is even feasible at scale.
Password cracking must only be performed against systems and accounts you own or have explicit written authorization to test. Running these techniques against systems without permission is illegal in most jurisdictions. If your organization needs a structured, authorized password audit, SageFox Cybersecurity's assessment team at www.sagefoxusa.com can help scope and run this safely.
Hashcat is available directly through most package managers, though installing the latest release from the official binaries ensures access to the newest hash mode support:
bash
sudo apt update
sudo apt install hashcat -y
hashcat --versionFor the latest release with expanded hash mode coverage:
bash
wget https://hashcat.net/files/hashcat-6.2.6.7z
7z x hashcat-6.2.6.7z
cd hashcat-6.2.6Before running any cracking session, confirm Hashcat can see your GPU hardware correctly:
bash
hashcat -IIf no compatible device is detected, verify your GPU drivers and OpenCL or CUDA runtime are properly installed, since Hashcat's performance advantage depends entirely on this being configured correctly.
Hashcat requires you to specify a numeric mode corresponding to the exact hash type you are targeting. Guessing incorrectly will produce no results even if the password exists in your wordlist. Identifying an unknown hash:
bash
hashid '$2y$10$examplehashvaluehere'This example, prefixed with $2y$, indicates a bcrypt hash, which corresponds to Hashcat mode 3200.
A few modes come up repeatedly in real-world audits:
On a Linux system you are authorized to test, combining passwd and shadow files into a crackable format:
bash
sudo unshadow /etc/passwd /etc/shadow > combined_hashes.txtFor Windows environments, NTLM hashes extracted from an authorized test domain controller can be exported using a credential dumping utility appropriate to your engagement scope, then formatted for Hashcat processing.
The most straightforward starting point is a dictionary attack, referred to in Hashcat as attack mode 0:
bash
hashcat -m 1800 -a 0 combined_hashes.txt /usr/share/wordlists/rockyou.txtHere, -m 1800 specifies the sha512crypt hash mode, and -a 0 specifies a straight dictionary attack.
Cracked passwords are stored automatically and can be reviewed at any time without rerunning the session:
bash
hashcat -m 1800 combined_hashes.txt --showWhile a session runs, pressing the s key displays a live status update including guesses per second, estimated time remaining, and current progress, which is useful for tracking longer audits against large hash sets.
Real passwords rarely appear exactly as written in a wordlist. Hashcat's rule engine simulates common human modifications like appending numbers or capitalizing the first letter:
bash
hashcat -m 1000 -a 0 windows_hashes.txt /usr/share/wordlists/rockyou.txt -r rules/best64.ruleApplying a solid rule set to a modest wordlist consistently outperforms a much larger wordlist used without rules, since it targets realistic human password behavior directly.
A combinator attack merges two wordlists together, useful for testing passwords built from combined words, a common pattern in corporate environments:
bash
hashcat -m 0 -a 1 md5_hashes.txt wordlist1.txt wordlist2.txtWhen you know something about the expected password structure, such as a company policy requiring a specific length and character composition, a mask attack targets that pattern directly:
bash
hashcat -m 1000 -a 3 windows_hashes.txt '?u?l?l?l?l?l?d?d?d'This mask targets an uppercase letter followed by five lowercase letters and three digits, a structure surprisingly common where password policies enforce only basic complexity requirements.
Hybrid mode combines a wordlist with a mask, useful for testing passwords built from a base word plus a predictable suffix, such as a year or a symbol pattern:
bash
hashcat -m 1000 -a 6 windows_hashes.txt /usr/share/wordlists/rockyou.txt '?d?d?d?d'Hashcat is frequently used defensively to measure how many accounts in an organization would fall to a realistic attack. Extracting NTLM hashes from a test Active Directory environment and running a rule-based attack provides concrete data:
bash
hashcat -m 1000 -a 0 ad_hashes.txt /usr/share/wordlists/rockyou.txt -r rules/best64.rule --potfile-path=ad_audit.potTracking the percentage of accounts cracked within a defined time window, for example two hours on a standard GPU rig, gives leadership a concrete, defensible metric for password policy risk. Organizations running this kind of audit for the first time are often surprised at how quickly a meaningful percentage of accounts fall using nothing more than a public wordlist and a common rule set. If you want this audit run and reported professionally rather than as a self-guided exercise, www.sagefoxusa.com can scope and execute this safely within your environment.
Before committing to a long-running session, benchmark your setup against common hash modes to estimate realistic completion times:
bash
hashcat -b -m 1000Hashcat allows workload tuning to balance cracking speed against system responsiveness, particularly important if the machine is also being used for other tasks during a long audit:
bash
hashcat -m 1000 -a 0 windows_hashes.txt /usr/share/wordlists/rockyou.txt -w 3Higher workload values prioritize cracking speed at the cost of system responsiveness, and should generally be reserved for dedicated audit hardware rather than a shared workstation.
An incorrect mode number is the most frequent reason a session produces no results even against a weak password. Always verify the hash format before launching a full session.
Long-running sessions against large hash sets can be interrupted. Hashcat supports session naming and restore specifically for this reason:
bash
hashcat -m 1000 -a 0 windows_hashes.txt /usr/share/wordlists/rockyou.txt --session=ad_audit --restoreFailing to use named sessions on multi-hour audits means losing all progress if the process is interrupted unexpectedly.
Even in a personal lab environment, documenting scope and authorization for every cracking exercise builds the discipline required for professional engagements, where scope violations carry real legal and contractual consequences.
Hashcat's speed and flexibility make it the standard tool for serious password security testing, whether you are learning the fundamentals of offensive security or running a defensive audit of your own organization's password policy. Progressing from basic dictionary attacks through rule-based, mask, and hybrid techniques mirrors the actual workflow professional testers rely on, and understanding this process makes it far easier to justify investment in multi factor authentication and stronger password policies to leadership.
If your organization wants a professional, authorized password audit rather than a self-guided exercise, SageFox Cybersecurity can help design and execute that assessment safely. Visit www.sagefoxusa.com to learn more about our password security and penetration testing services.