Startseite Writeups Crack the Hash
Easy 🏷 Crypto · Hash Cracking 📅 2025 ⏱ ~15 Min Lesezeit

Crack the Hash – Walkthrough

Neun Hashes, zwei Level — MD5, SHA-1, SHA-256, bcrypt, MD4, NTLM, SHA-512crypt und HMAC-SHA1 mit hash-identifier, hashid, hashcat und CrackStation knacken.

0xRoshiSh3ll
0xRoshiSh3llTryHackMe Writeup · Deutsch
Zum THM-Raum ↗

01Einführung

Crack the Hash ist ein Easy-Raum auf TryHackMe der sich komplett ums Hash-Cracking dreht. Kein Netzwerkscan, keine Shell — hier geht es darum Hash-Typen zu erkennen und mit den richtigen Tools zu knacken. Genau die Fähigkeit die du nach einem erfolgreichen Exploit oft brauchst um an Passwörter zu kommen.

💡
Schwierigkeit: Easy  |  Kategorie: Crypto  |  Level: 2  |  Hashes: 9

02Benötigte Tools

  • hash-identifier — erkennt Hash-Typen anhand von Muster und Länge
  • hashid — alternative Hash-Erkennung mit detaillierteren Ergebnissen
  • hashcat — GPU-beschleunigter Hash-Cracker, 300+ Algorithmen
  • CrackStation (crackstation.net) — Online-Datenbank für bekannte Hashes
📌
hashcat braucht für jeden Algorithmus eine ID. Vollständige Liste: hashcat.net/wiki/example_hashes

03Level 1

Level 1 enthält fünf Hashes mit steigender Schwierigkeit. Wir identifizieren jeden Hash-Typ und nutzen dann hashcat mit der rockyou.txt Wordlist.

⚡ Level 1 — 5 Hashes
Task 1  ·  Level 1

Can you complete the level 1 tasks by cracking the hashes?

Answer the questions below
48bb6e862e54f2a795ffc4e541caed4d Answer format: ****
CBFDAC6008F9CAB4083784CBD1874F76618D2A97 Answer format: **********
1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032 Answer format: *******
$2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom Answer format: ****
279412f945939ba78ce0758d3fd83daa Answer format: **********

🔐 Hash #1 — MD5

Hash48bb6e862e54f2a795ffc4e541caed4d

Wir starten mit hash-identifier um den Algorithmus zu bestimmen. Das Tool analysiert Länge und Muster des Hashes.

bash
hash-identifier 48bb6e862e54f2a795ffc4e541caed4d
hash-identifier
HASH: 48bb6e862e54f2a795ffc4e541caed4d

Possible Hashs:
[+] MD5
[+] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))

Least Possible Hashs:
[+] RAdmin v2.x
[+] NTLM
[+] MD4
[+] MD2
[+] MD5(HMAC)

Bestätigt: MD5, hashcat ID 0. Los geht's:

bash
hashcat -m 0 -a 0 48bb6e862e54f2a795ffc4e541caed4d /usr/share/wordlists/rockyou.txt
hashcat — MD5 Modus starten
$ hashcat -m 0 -a 0 48bb6e862e54f2a795ffc4e541caed4d /usr/share/wordlists/rockyou.txt

hashcat (v6.2.6) starting...
Dictionary cache built:
* Filename..: /usr/share/wordlists/rockyou.txt
* Passwords.: 14344391
hashcat — MD5 geknackt
48bb6e862e54f2a795ffc4e541caed4d:easy

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 0 (MD5)
Hash.Target......: 48bb6e862e54f2a795ffc4e541caed4d
Recovered........: 1/1 (100.00%)
Hash #1 gelöst! MD5 mit rockyou.txt geknackt.

🔐 Hash #2 — SHA-1

HashCBFDAC6008F9CAB4083784CBD1874F76618D2A97

40 Zeichen langer Hash — ein klassisches Merkmal von SHA-1. hash-identifier bestätigt das.

bash
hash-identifier CBFDAC6008F9CAB4083784CBD1874F76618D2A97
hash-identifier
HASH: CBFDAC6008F9CAB4083784CBD1874F76618D2A97

Possible Hashs:
[+] SHA-1
[+] MySQL5 - SHA-1(SHA-1($pass))

Least Possible Hashs:
[+] Tiger-160,3
[+] Haval-160

SHA-1, hashcat ID 100:

bash
hashcat -m 100 -a 0 CBFDAC6008F9CAB4083784CBD1874F76618D2A97 /usr/share/wordlists/rockyou.txt
hashcat — SHA-1 Modus starten
$ hashcat -m 100 -a 0 CBFDAC6008F9CAB4083784CBD1874F76618D2A97 /usr/share/wordlists/rockyou.txt

hashcat (v6.2.6) starting...
Dictionary cache hit:
* Filename..: /usr/share/wordlists/rockyou.txt
* Passwords.: 14344391
hashcat — SHA-1 geknackt
cbfdac6008f9cab4083784cbd1874f76618d2a97:password123

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 100 (SHA1)
Hash.Target......: CBFDAC6008F9CAB4083784CBD1874F76618D2A97
Recovered........: 1/1 (100.00%)
Hash #2 gelöst! SHA-1 erfolgreich geknackt.

🔐 Hash #3 — SHA-256

Hash1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032

64 Zeichen langer Hash — deutet auf SHA-256 hin. hash-identifier bestätigt.

bash
hash-identifier 1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032
hash-identifier
HASH: 1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032

Possible Hashs:
[+] SHA-256
[+] Haval-256

Least Possible Hashs:
[+] GOST R 34.11-94
[+] RipeMD-256
[+] Snefru-256

SHA-256, hashcat ID 1400:

bash
hashcat -m 1400 -a 0 1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032 /usr/share/wordlists/rockyou.txt
hashcat — SHA-256 Modus starten
$ hashcat -m 1400 -a 0 1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032 /usr/share/wordlists/rockyou.txt

hashcat (v6.2.6) starting...
Dictionary cache hit:
* Filename..: /usr/share/wordlists/rockyou.txt
* Passwords.: 14344391
hashcat — SHA-256 geknackt
1c8bfe8f801d79745c4631d09fff36c82aa37fc4cce4fc946683d7b336b63032:letmein

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1400 (SHA2-256)
Hash.Target......: 1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032
Recovered........: 1/1 (100.00%)
Hash #3 gelöst! SHA-256 geknackt.

🔐 Hash #4 — bcrypt

Hash$2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom

hash-identifier findet nichts — aber das Präfix $2y$ ist ein eindeutiges Kennzeichen für bcrypt. Eine kurze Google-Suche bestätigt das.

hash-identifier — bcrypt Hash
HASH: $2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom

Not Found.

→ hash-identifier kennt diesen Typ nicht.
→ Aber das Präfix $2y$ verrät alles:
   $2y$ = bcrypt (PHP-Implementierung)
→ hashcat Mode: 3200
Google Search — $2y$ hash prefix
AI Overview:

The $2y$ hash prefix indicates a specific version of a bcrypt hash,
primarily associated with PHP's implementation of bcrypt.

→ hashcat Mode: 3200 (bcrypt $2*$, Blowfish)
⚠️
Bei Hashes mit Sonderzeichen ($) den Hash immer in einfache Anführungszeichen setzen oder in einer .txt Datei speichern!

bcrypt ist absichtlich langsam. Der THM-Hint verrät: das Passwort hat 4 Kleinbuchstaben. Wir speichern den Hash und starten hashcat:

bash
echo '$2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom' > hash.txt
hashcat -m 3200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
hashcat — bcrypt gestartet
$ echo '$2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom' > hash.txt
$ hashcat -m 3200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

hashcat (v6.2.6) starting...

Status...........: Running
Speed.#1.........:       28 H/s (sehr langsam — bcrypt ist by design slow)
Progress.........: 840/14344391

Zu langsam! Wir filtern die rockyou.txt auf genau 4 Kleinbuchstaben:

bash
grep -x '[a-z]{{4}}' /usr/share/wordlists/rockyou.txt > rockyou_4lower.txt
wc -l rockyou_4lower.txt
bash — rockyou.txt filtern
$ grep -x '[a-z]{4}' /usr/share/wordlists/rockyou.txt > rockyou_4lower.txt
$ wc -l rockyou_4lower.txt
8403 rockyou_4lower.txt

→ Von 14 Millionen auf 8403 Einträge reduziert!
bash
hashcat -m 3200 -a 0 hash.txt rockyou_4lower.txt
hashcat — bcrypt mit gefilterter Liste
$ hashcat -m 3200 -a 0 hash.txt rockyou_4lower.txt

hashcat (v6.2.6) starting...
Status...........: Running
Speed.#1.........:       28 H/s
Progress.........: 560/8403 (6.66%)
hashcat — bcrypt geknackt
$2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom:lolo

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 3200 (bcrypt $2*$, Blowfish (Unix))
Recovered........: 1/1 (100.00%)

Alternativ per Mask-Attack (dauert aber länger):

bash
hashcat -m 3200 -a 3 hash.txt '?l?l?l?l'
hashcat — Mask Attack
$ hashcat -m 3200 -a 3 hash.txt '?l?l?l?l'

Mask.....: ?l?l?l?l [4]
Keyspace.: 456976

→ ?l = lowercase letter (a-z)
→ 26^4 = 456,976 Kombinationen
Hash #4 gelöst! bcrypt mit gefilterter Wordlist geknackt.

🔐 Hash #5 — MD4

Hash279412f945939ba78ce0758d3fd83daa

Sieht wie MD5 aus — gleiche Länge. hash-identifier zeigt MD5 als möglichen Typ. Wir versuchen MD5 zuerst, aber kein Ergebnis. Wir nutzen hashid für mehr Details:

hash-identifier
HASH: $2y$12$Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom

Possible Hashs:
[+] MD5
[+] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))
bash
hashid 279412f945939ba78ce0758d3fd83daa
hashid — Hash #5 analysieren
$ hashid 279412f945939ba78ce0758d3fd83daa
Analyzing '279412f945939ba78ce0758d3fd83daa'
[+] MD2
[+] MD5
[+] MD4
[+] Double MD5
[+] LM
[+] RIPEMD-128
[+] Haval-128
[+] Tiger-128
[+] Skein-256(128)
[+] Skein-512(128)
[+] Lotus Notes/Domino 5
[+] Skype
[+] Domain Cached Credentials
[+] Domain Cached Credentials 2
[+] DNSSEC(NSEC3)
[+] RAdmin v2.x

→ THM Hint bestätigt: MD4 (hashcat -m 900)
→ Nicht in rockyou.txt → CrackStation nutzen!

Der THM-Hint bestätigt MD4 (ID 900). Aber selbst hashcat liefert kein Ergebnis — das Passwort ist nicht in der rockyou.txt. Lösung: CrackStation!

Hash #5 gelöst! MD4-Hash über CrackStation Online-Datenbank geknackt — nicht jedes Passwort steckt in rockyou.txt!

04Level 2

Level 2 wird komplexer — unbekanntere Algorithmen, manche Hashes kommen mit Salt und erfordern spezifischere hashcat-Befehle.

🔥 Level 2 — 4 Hashes
Task 2  ·  Level 2

This task increases the difficulty. All answers are in the rockyou password list.

Answer the questions below
F09EDCB1FCEFC6DFB23DC3505A882655FF77375ED8AA2D1C13F640FCCC2D0C85 Answer format: *****
1DFECA0C002AE40B8619ECF94819CC1B Answer format: ************
$6$aReallyHardSalt$6WKUTqzq... (Salt: aReallyHardSalt) Answer format: ******
e5d8870e5bdd26602cab8dbe07a942c8669e56d6 (Salt: tryhackme) Answer format: ************

🔐 Hash #1 — SHA-256

HashF09EDCB1FCEFC6DFB23DC3505A882655FF77375ED8AA2D1C13F640FCCC2D0C85

64 Zeichen, SHA-256. hash-identifier bestätigt sofort.

bash
hash-identifier F09EDCB1FCEFC6DFB23DC3505A882655FF77375ED8AA2D1C13F640FCCC2D0C85
hash-identifier — Level 2 Hash #1
HASH: F09EDCB1FCEFC6DFB23DC3505A882655FF77375ED8AA2D1C13F640FCCC2D0C85

Possible Hashs:
[+] SHA-256
[+] Haval-256

→ SHA-256 bestätigt → hashcat -m 1400
bash
hashcat -m 1400 -a 0 F09EDCB1FCEFC6DFB23DC3505A882655FF77375ED8AA2D1C13F640FCCC2D0C85 /usr/share/wordlists/rockyou.txt
hashcat — SHA-256 Level 2 geknackt
f09edcb1fcefc6dfb23dc3505a882655ff77375ed8aa2d1c13f640fccc2d0c85:paule

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1400 (SHA2-256)
Recovered........: 1/1 (100.00%)
Hash #1 (Level 2) gelöst!

🔐 Hash #2 — NTLM

Hash1DFECA0C002AE40B8619ECF94819CC1B

Sieht wie MD5 aus. hashcat mit MD5 liefert kein Ergebnis. hash-identifier zeigt als mögliche Typen MD5 und Domain Cached Credentials — der THM-Hint klärt auf: es ist NTLM, das Windows-Passwort-Format, hashcat ID 1000.

hash-identifier — Level 2 Hash #2
HASH: 1DFECA0C002AE40B8619ECF94819CC1B

Possible Hashs:
[+] MD5
[+] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))

→ Sieht aus wie MD5, ist aber NTLM!
→ THM Hint: NTLM → hashcat -m 1000
bash
hashcat -m 1000 -a 0 1DFECA0C002AE40B8619ECF94819CC1B /usr/share/wordlists/rockyou.txt
hashcat — NTLM geknackt
1dfeca0c002ae40b8619ecf94819cc1b:n63umy8lkf4i

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1000 (NTLM)
Recovered........: 1/1 (100.00%)
Hash #2 (Level 2) gelöst! NTLM mit ID 1000 geknackt.
💡
NTLM begegnet dir bei Windows-Pentests sehr häufig — z.B. aus dem SAM-File oder über Responder abgefangen!

🔐 Hash #3 — SHA-512crypt

Hash$6$aReallyHardSalt$6WKUTqzq.UQQmrm0p/T7MPpMbGNnzXPMAXi4bJMl9be.cfi3/qxIf.hsGpS41BqMhSrHVXgMpdjS6xeKZAs02.SaltaReallyHardSalt

Weder hash-identifier noch hashid können diesen Typ direkt zuordnen. Aber das Präfix $6$ ist eindeutig: SHA-512crypt — das Linux-Format für /etc/shadow Passwörter. hashcat ID 1800. Da der Salt im Hash eingebettet ist, erkennt hashcat ihn automatisch:

bash
echo '$6$aReallyHardSalt$6WKUTqzq.UQQmrm0p/T7MPpMbGNnzXPMAXi4bJMl9be.cfi3/qxIf.hsGpS41BqMhSrHVXgMpdjS6xeKZAs02.' > hash_l2h3.txt
hashcat -m 1800 -a 0 hash_l2h3.txt /usr/share/wordlists/rockyou.txt
bash — SHA-512crypt cracken
$ echo '$6$aReallyHardSalt$6WKUTqzq.UQQmrm0p/T7MPpMbGNnzXPMAXi4bJMl9be.cfi3/qxIf.hsGpS41BqMhSrHVXgMpdjS6xeKZAs02.' > hash_l2h3.txt

$ hashcat -m 1800 -a 0 hash_l2h3.txt /usr/share/wordlists/rockyou.txt

hashcat (v6.2.6) starting...
→ $6$ Präfix = SHA-512crypt (Linux /etc/shadow Format)
→ Salt wird automatisch aus dem Hash extrahiert
hashcat — SHA-512crypt geknackt
$6$aReallyHardSalt$6WKUTqzq...:waka99

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 1800 (sha512crypt $6$, SHA512 (Unix))
Recovered........: 1/1 (100.00%)
Hash #3 (Level 2) gelöst! SHA-512crypt — /etc/shadow Format erfolgreich geknackt.

🔐 Hash #4 — HMAC-SHA1

Hashe5d8870e5bdd26602cab8dbe07a942c8669e56d6Salttryhackme

Dieser Hash kommt mit einem externen Salt (tryhackme). hash-identifier zeigt SHA-1, aber der THM-Hint verrät: es ist HMAC-SHA1, hashcat ID 160. Der Salt ist nicht im Hash eingebettet — wir müssen ihn separat mit : übergeben:

hash-identifier — Level 2 Hash #4
HASH: e5d8870e5bdd26602cab8dbe07a942c8669e56d6

Possible Hashs:
[+] SHA-1
[+] MySQL5 - SHA-1(SHA-1($pass))

→ Sieht wie SHA-1 aus — aber der externe Salt (tryhackme) verrät:
→ HMAC-SHA1 → hashcat -m 160
→ Format bei hashcat: hash:salt
bash
echo 'e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme' > hash.txt
hashcat -m 160 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
bash — HMAC-SHA1 cracken
$ echo 'e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme' > hash.txt
$ hashcat -m 160 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

hashcat (v6.2.6) starting...
→ Salt wird mit : direkt an den Hash angehängt
→ hashcat erkennt das Format automatisch
hashcat — HMAC-SHA1 geknackt
e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme:481616481616

Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 160 (HMAC-SHA1 (key = $pass))
Recovered........: 1/1 (100.00%)
Hash #4 (Level 2) gelöst! HMAC-SHA1 mit Salt geknackt — Format hash:salt nicht vergessen!

05Fazit & Lernpunkte

Crack the Hash ist ein perfekter Raum um Hash-Cracking systematisch zu erlernen. Die Bandbreite von MD5 bis HMAC-SHA1 zeigt wie vielfältig Hash-Algorithmen sind und wie wichtig die richtige Tool-Wahl ist.

  • Präfixe lesen: $2y$ = bcrypt, $6$ = SHA-512crypt — oft verrät der Hash seinen eigenen Typ
  • hash-identifier + hashid ergänzen sich — wenn eines versagt, hilft das andere
  • rockyou.txt ist nicht alles — CrackStation bei unbekannten Passwörtern versuchen
  • bcrypt ist langsam — Wordlist vorher mit grep filtern spart enorm Zeit
  • Sonderzeichen in Hashes immer in einfache Anführungszeichen einschließen
  • HMAC-Hashes brauchen das Format hash:salt bei hashcat
  • NTLM — das Windows-Passwort-Format, begegnet dir bei echten Pentests sehr häufig

📋 Alle Hashes auf einen Blick

Level Algorithmus ID Methode
1·#1MD50hashcat + rockyou
1·#2SHA-1100hashcat + rockyou
1·#3SHA-2561400hashcat + rockyou
1·#4bcrypt3200hashcat + gefiltert
1·#5MD4900CrackStation
2·#1SHA-2561400hashcat + rockyou
2·#2NTLM1000hashcat + rockyou
2·#3SHA-512crypt1800hashcat + rockyou
2·#4HMAC-SHA1160hashcat + Salt