Ever tried to crack a password and felt like you were staring at a brick wall?
Most of us have hit that moment—whether you’re a security researcher testing your own system or a sysadmin double‑checking that users aren’t hiding weak secrets. The good news? With John the Ripper 8.1.10, the wall isn’t as solid as you think And it works..
Below is the hands‑on guide that walks you through what the tool actually does, why it still matters in 2026, and—most importantly—how to get a password cracked without spending weeks staring at a terminal.
What Is John the Ripper 8.1.10
John the Ripper (often just “John”) is an open‑source password‑cracking suite that’s been around since the late ’90s. That said, 1. Still, version 8. 10, released in early 2025, is the latest “jumbo” build that bundles a ton of community‑contributed formats, GPU acceleration, and a revamped “incremental” mode Nothing fancy..
In plain English, think of John as a Swiss‑army knife for password hashes. Feed it a file full of salted SHA‑512, NTLM, or even a custom bcrypt, and it will try a mountain of guesses—dictionary words, rule‑based mutations, and brute‑force—until it either finds a match or gives up.
The Core Engines
- Wordlist mode – pulls candidates from a file you supply (rockyou.txt is the classic).
- Incremental mode – generates every possible combination up to a set length, perfect for short, unknown passwords.
- Mask mode – a hybrid that lets you define patterns (e.g.,
?l?l?l?d?dfor three lowercase letters followed by two digits). - External mode – you can write your own generator in C or Python and plug it in.
All of that lives under a single binary (john on Linux, john.exe on Windows), which makes the learning curve less intimidating than juggling multiple tools And it works..
Why It Matters / Why People Care
Security isn’t a static checklist; it’s a cat‑and‑mouse game. Even though most enterprises have moved to multi‑factor authentication, passwords still protect local accounts, encrypted disks, and legacy services Easy to understand, harder to ignore..
- Audit compliance – PCI‑DSS, HIPAA, and ISO 27001 all demand periodic password strength testing.
- Incident response – when a breach is suspected, you need to know whether the attacker could have cracked a compromised hash.
- Pen‑testing credibility – a client will trust a tester who can demonstrate real‑world cracking, not just a theoretical report.
If you skip the “real‑world” part, you’re basically guessing whether your users are safe. Turns out, most people overestimate the strength of a “complex” password because they don’t consider the tools that exist today. John the Ripper 8.Consider this: 1. 10 is a perfect illustration: it can throw a GPU‑powered mask attack at a 10‑character password in minutes Worth keeping that in mind..
How It Works (or How to Do It)
Below is the step‑by‑step workflow that gets you from a raw hash file to a cracked password. That's why i’ll keep the commands Linux‑centric; Windows users can swap . /john for john.exe And it works..
1. Install the Jumbo Build
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install -y john
# Or compile the latest jumbo version
git clone https://github.com/openwall/john.git
cd john/src
./configure && make -s clean && make -sj$(nproc)
sudo cp ../run/john /usr/local/bin/
The compiled binary includes GPU support (OpenCL) out of the box, which is the real game‑changer for 8.1.10 Easy to understand, harder to ignore. Took long enough..
2. Gather Your Hashes
John can read a variety of formats, but the easiest is a simple text file with one hash per line. Example for a Linux /etc/shadow entry:
$6$salty$K5ZcTz0c6Z1pL8Hk2V... (the rest of the hash)
If you’re dealing with Windows NTLM, just dump the hashes with pwdump or samdump2 and save them to hashes.txt.
3. Run a Quick Dictionary Attack
john --wordlist=rockyou.txt --format=sha512crypt hashes.txt
--wordlistpoints to your candidate file.--formattells John what type of hash you’re cracking; you can let it auto‑detect with--format=auto.
John will spit out any cracked passwords to john.Still, pot. You can view them anytime with john --show hashes.txt.
4. Add Rules for Mutations
Dictionary attacks alone are rarely enough. The “best64” rule set is a solid default:
john --wordlist=rockyou.txt --rules=best64 --format=sha512crypt hashes.txt
That single line applies 64 different transformations—capitalizing the first letter, appending numbers, leet‑speak swaps, etc The details matter here. Simple as that..
5. Switch to Mask (Pattern) Mode
If you have hints (e.g., password is 8 characters, starts with a capital letter, ends with two digits), mask mode cuts the search space dramatically:
john --mask='?u?l?l?l?l?d?d' --format=sha512crypt hashes.txt
?u = uppercase, ?Practically speaking, l = lowercase, ? d = digit. John will iterate through every combination that fits that pattern.
6. Fire Up the GPU
First, make sure your GPU drivers are up to date and OpenCL is installed. Then add the --device=GPU flag:
john --device=GPU --mask='?u?l?l?l?l?d?d' --format=sha512crypt hashes.txt
On a mid‑range RTX 3060, that same mask finishes in under a minute—something that would take a CPU hours.
7. Fall Back to Incremental (Brute Force)
When everything else fails, incremental mode is the last resort. It’s slow, but John’s optimized tables make it faster than most tools:
john --incremental=ASCII --format=sha512crypt hashes.txt
You can limit the max length to avoid endless loops: --incremental=ASCII --maxlen=8.
8. Review Results
john --show hashes.txt
You’ll see something like:
user1:$6$salty$K5ZcTz0c6Z1pL8Hk2V...:Password123
That’s it—your password is cracked.
Common Mistakes / What Most People Get Wrong
- Skipping the format flag – John will guess, but it often lands on the wrong algorithm, wasting hours. Always specify
--format. - Using an outdated wordlist – Rockyou is classic, but it’s 15 years old. Add newer leaks (e.g., 2023 “2023‑top‑10M”) for a noticeable boost.
- Ignoring GPU acceleration – Many tutorials still show CPU‑only commands. On modern hardware, the GPU can be 20‑30× faster for mask attacks.
- Over‑relying on incremental mode – It’s a brute‑force hammer; use it only when you truly have no clue about the password structure.
- Forgetting to check the pot file – The cracked passwords are stored in
john.pot. If you rerun a job, John will skip already‑cracked hashes, saving time.
Avoid these pitfalls and you’ll spend minutes, not days, on a cracking job Simple, but easy to overlook..
Practical Tips / What Actually Works
- Combine wordlists with rules – Merge rockyou, 2023‑top‑10M, and your own custom list (e.g., company‑specific jargon). Then run
--rules=best64. - use known patterns – Employees often use “CompanyName2022!”. Use a mask like
?d?d?d?d?l?l?l?l?u?l?l?l. - Run multiple sessions in parallel – One terminal for dictionary+rules, another for mask+GPU. John will automatically sync the pot file.
- Use the “--session” flag – If you need to pause and resume,
john --session=mytest ...saves the state. - Monitor performance –
john --statusgives you a live view of guesses per second, helping you decide when to switch strategies.
A quick example that blends these ideas:
# Session 1: Dictionary + best64, CPU only
john --session=corp_test --wordlist=combined.txt --rules=best64 --format=nt hashes.txt &
# Session 2: Mask with GPU, known pattern
john --session=corp_test --device=GPU --mask='?u?l?l?l?l?d?d' --format=nt hashes.txt &
Let them run side by side; you’ll often see the password appear from the mask job while the dictionary continues chewing through the rest.
FAQ
Q: Can John the Ripper crack bcrypt hashes?
A: Yes, but bcrypt is deliberately slow. Even with GPU acceleration, expect a realistic password (8‑10 chars) to take hours or days. Use targeted masks to keep it practical.
Q: Is it legal to use John on my own network?
A: If you own the system or have explicit permission, absolutely. Without consent, it’s illegal in most jurisdictions.
Q: How does John compare to Hashcat?
A: Hashcat is often faster on GPUs for pure brute‑force, but John’s rule engine and incremental mode make it more flexible for mixed attacks. Many professionals run both side‑by‑side.
Q: My GPU isn’t recognized—what now?
A: Install the latest OpenCL drivers for your vendor (NVIDIA, AMD, Intel). Verify with clinfo. If still not working, fall back to CPU mode; it’s slower but still functional And that's really what it comes down to..
Q: Can I crack password‑protected ZIP files with John?
A: Yes. Use zip2john archive.zip > zip.hash to extract the hash, then run John on that hash file with the appropriate format (--format=zip).
Cracking a password with John the Ripper 8.10 isn’t magic; it’s a methodical blend of good wordlists, smart rules, and hardware you already have. 1.Once you internalize the workflow above, you’ll stop treating password hashes like black boxes and start seeing them as puzzles you can actually solve.
Give it a try on a test account, tweak the masks, and you’ll quickly feel the difference between “guessing” and “actually cracking.” Happy hunting!
6️⃣ Fine‑tuning the Attack on Real‑World Corp‑Hashes
Now that the basic parallel setup is running, it’s time to squeeze every last guess out of your hardware. Below are three incremental refinements that often turn a “no‑result after a day” into a “found in minutes”.
6.1. Prioritise the most likely character sets
John’s mask syntax lets you embed incremental character‑set definitions. To give you an idea, many corporate policies require at least one special character but otherwise forbid spaces. You can encode that rule directly into the mask so John never wastes cycles on impossible combos:
Not the most exciting part, but easily the most useful.
# Enforce at least one special char (choose from !@#$%)
john --mask='?1?l?l?l?l?d?d' \
--mask='?l?1?l?l?l?d?d' \
--mask='?l?l?1?l?l?d?d' \
--mask='?l?l?l?1?l?d?d' \
--mask='?l?l?l?l?1?d?d' \
--mask='?l?l?l?l?d?1?d' \
--mask='?l?l?l?l?d?d?1' \
--custom-charset1='!@#$%' \
--format=nt hashes.txt &
Each mask forces the special‑character placeholder (?Even so, 1) into a different position, guaranteeing coverage of every 7‑character password that meets the policy without generating the astronomical full‑space of ? a?Here's the thing — a? a?Now, a? Practically speaking, a? a?a. Adjust the length (?l?Now, l? l?Consider this: l? l?d?d) if you suspect longer passwords.
6.2. Use Incremental Mode for “unknown” portions
When you have no clue about the password structure, John’s built‑in incremental mode is a systematic brute‑force that respects the character frequency statistics of the selected charset. a?Still, it’s slower than a raw mask but far smarter than a naïve ? a?a… sweep.
Some disagree here. Fair enough.
john --incremental=All --format=nt --device=GPU hashes.txt &
The All profile includes printable ASCII plus extended Latin‑1 characters. Day to day, if you know the target is limited to alphanumerics, switch to --incremental=AlphaNum. Incremental mode also supports checkpointing automatically, so you can stop the job at any time and resume later without losing progress And it works..
6.3. Dynamically adjust workload based on real‑time stats
John provides a live status stream (john --status) that reports guesses per second (G/s), current mask, and estimated time to completion. By piping this output into a small monitoring script, you can trigger automatic strategy switches:
#!/usr/bin/env bash
# monitor.sh – simple auto‑tuner for John sessions
SESSION="corp_test"
THRESHOLD=5000000 # 5 M G/s; adjust for your GPU
while true; do
G=$(john --status=$SESSION | grep "Guesses/sec" | awk '{print $2}')
if (( $(echo "$G < $THRESHOLD" | bc -l) )); then
echo "Performance dropped – switching to incremental mode"
john --session=$SESSION --incremental=AlphaNum --format=nt hashes.txt &
break
fi
sleep 30
done
Run the monitor in the background while your dictionary and mask jobs are active. Plus, if the GPU throttles (thermal limits, power caps, etc. ), the script automatically falls back to a less demanding incremental attack, ensuring you never waste hours on a stalled mask.
7️⃣ Post‑Crack Hygiene
Cracking the hash is only half the battle. Once John writes a clear‑text password to john.pot, you should:
- Verify the result – Use the original tool (e.g.,
net usefor SMB,sshfor Unix) to confirm the password works. - Rotate the credential – Immediately change the password on the target system and enforce a stronger policy (length ≥ 12, mixed case, symbols, no dictionary words).
- Document the finding – Record the hash type, attack parameters, time to crack, and the final password. This audit trail is essential for compliance reports and for demonstrating the value of the penetration test.
- Secure the pot file –
john.potcontains all cracked passwords in plain text. Restrict its permissions (chmod 600 john.pot) and delete it after the report is finalized.
8️⃣ TL;DR – One‑Page Cheat Sheet
| Step | Command | Purpose |
|---|---|---|
| Extract | netntlmv2john hashes.l?d' --custom-charset1='!l?jtr & |
Target common corporate pattern |
| Mask (custom charset) | john --mask='?jtr |
Pull NTLM hashes from SAM |
| Dictionary | john --session=corp --wordlist=rockyou.In real terms, l? Plus, l? Worth adding: 1? Consider this: l? Practically speaking, @#$%' --format=nt hashes. d?txt > hashes.l?That's why l? Practically speaking, l? d' --format=nt hashes.That's why jtr & |
Fast word‑list + rule attack |
| Mask (known pattern) | john --session=corp --device=GPU --mask='? u?Because of that, d? txt --rules=best64 --format=nt hashes.jtr & |
Enforce required special char |
| Incremental fallback | `john --session=corp --incremental=AlphaNum --format=nt hashes. |
And yeah — that's actually more nuanced than it sounds.
Conclusion
John the Ripper 8.1.10 is a versatile, battle‑tested engine that can turn a seemingly impenetrable corporate password hash into a piece of plain text—provided you approach it methodically.
- Harvesting the correct hash format,
- Choosing the right wordlists and rule sets,
- Layering targeted masks that reflect real‑world password policies,
- Leveraging GPU acceleration and parallel sessions, and
- Continuously monitoring and adapting the workload,
you maximize the odds of a successful crack while keeping resource consumption sane.
Remember, the ultimate goal isn’t just to “break a password” but to demonstrate the weakness of lax password practices and to drive remediation. With the workflow above, you’ll move from blind guessing to a repeatable, auditable cracking process—turning John the Ripper into a true ally in your penetration‑testing toolkit. In practice, use the cracked credentials responsibly, document every step, and advocate for stronger, longer, and less predictable passwords across the organization. Happy hunting, and stay ethical!