0Pricing
Ethical Hacking Academy · Lesson

Cracking Hashes

Identifying and attacking.

Cracking Hashes is a free Ethical Hacking Academy lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Ethical Hacking Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Why Crack Hashes?

During an engagement you often recover password hashes from databases, config files, or memory dumps. Cracking them confirms weak passwords and demonstrates real impact to the client.

Remember: hashing is one-way. You cannot reverse a hash directly. Instead you guess inputs, hash each guess, and compare to the target.

Step 1: Identify the Hash

Before cracking you must know which algorithm produced the hash. Clues come from length and format:

  • 32 hex chars likely MD5.
  • 40 hex chars likely SHA-1.
  • 64 hex chars likely SHA-256.
  • Starts with $2b$ means bcrypt; $argon2 means Argon2.

Identification Tools

Tools automate hash identification so you do not have to guess. hashid and hash-identifier analyze the format and suggest likely algorithms.

The output guides which mode number to pass to your cracking tool.

hashid '5f4dcc3b5aa765d61d8327deb882cf99'
# Suggests: MD5, MD4, NTLM ...

Dictionary Attacks

A dictionary (wordlist) attack tries every word in a list, hashing each and comparing. It is fast and catches the huge number of users who pick common passwords.

The famous rockyou.txt wordlist contains millions of real leaked passwords and is the default starting point for most cracks.

Brute Force Attacks

A brute force attack tries every possible character combination. It is guaranteed to eventually succeed but is exponential in cost.

You constrain it with a mask: for example, exactly 8 characters of lowercase plus digits. Masks make targeted brute forcing feasible when you know the password policy.

?l = lowercase  ?u = uppercase  ?d = digit  ?s = symbol
# Mask ?u?l?l?l?l?d?d = Capital + 4 lower + 2 digits

Rule-Based Attacks

People modify base words predictably: 'password' becomes 'Password1!'. Rule-based attacks apply transformations (capitalize, append year, swap letters for numbers) to each wordlist entry.

This catches realistic human passwords without the cost of full brute force. The best64 ruleset is a popular efficient starting point.

Hashcat

hashcat is the leading GPU-accelerated cracker. It uses numeric mode codes per algorithm and an attack mode flag (-a 0 dictionary, -a 3 brute force).

GPUs make hashcat enormously faster than CPU cracking for fast hashes like MD5 and SHA.

hashcat -m 0 -a 0 hashes.txt rockyou.txt
# -m 0 = MD5, -a 0 = dictionary attack

John the Ripper

John the Ripper is another classic cracker, strong on CPU and with broad format support. It often auto-detects the hash type.

John has handy helper tools like unshadow for combining Linux /etc/passwd and /etc/shadow into a crackable file.

unshadow /etc/passwd /etc/shadow > combined.txt
john --wordlist=rockyou.txt combined.txt
john --show combined.txt

Why Salts and Slow Hashes Win

Cracking speed depends heavily on the algorithm:

  • A GPU can try billions of MD5 guesses per second.
  • bcrypt or Argon2 might allow only a few thousand per second by design.

Salts also force you to crack each hash separately, removing the rainbow-table shortcut. This is exactly why defenders use salted, slow hashes.

Online Lookups and Ethics

For unsalted fast hashes, online databases like CrackStation hold precomputed lookups, often cracking common hashes instantly.

Ethics: only crack hashes you are authorized to test. Cracking real credentials without permission is illegal. In engagements, report cracked passwords as evidence of weak policy, never reuse them maliciously.

Estimating Effort

Before committing hours to a crack, estimate feasibility:

  • Algorithm speed: MD5 cracks fast; bcrypt is slow by design.
  • Password complexity: length and character set explode the keyspace.
  • Hardware: a strong GPU rig dwarfs a laptop CPU.

If a salted bcrypt with a long random password will take centuries, pivot to other attack paths instead of brute forcing.

Quick Check

You captured a database dump. Decide the smartest first move.

Recap

You learned the hash-cracking workflow:

  • Identify the algorithm by length/format using hashid.
  • Escalate attacks by cost: dictionary, then rules, then masked brute force.
  • Use hashcat (GPU) and John the Ripper (CPU, auto-detect).
  • Salts and slow hashes (bcrypt, Argon2) dramatically reduce cracking speed.
  • Always stay within authorization.

This completes Cryptography for Hackers. Next module: Anonymity and OPSEC.

Frequently asked questions

Is the “Cracking Hashes” lesson free?

Yes — the full text of “Cracking Hashes” is free to read here on the web, and the Ethical Hacking Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Ethical Hacking Academy course, upgrade to CoddyKit PRO.

What will I learn in “Cracking Hashes”?

Identifying and attacking. You practise Ethical Hacking Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Ethical Hacking Academy?

No prior experience is required. Ethical Hacking Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Cracking Hashes” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Ethical Hacking Academy lesson?

Yes. Every Ethical Hacking Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Encoding vs Encryption
  2. Hashing
  3. Symmetric and Asymmetric
  4. Cracking Hashes
← Back to Ethical Hacking Academy