Hashes, MACs & KDFs
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Gängige CTF-Muster
- “Signature” ist tatsächlich
hash(secret || message)→ length extension. - Passwort-Hashes ohne Salt → trivial cracking / lookup.
- Hash mit MAC verwechseln (hash != authentication).
Hash length extension attack
Technik
Oft kann man das ausnutzen, wenn ein Server eine “Signature” berechnet wie:
sig = HASH(secret || message)
und einen Merkle–Damgård-Hash verwendet (klassische Beispiele: MD5, SHA-1, SHA-256).
Wenn du weißt:
messagesig- hash function
- (oder per Brute-Force bestimmbar)
len(secret)
Dann kannst du eine gültige Signatur für:
message || padding || appended_data
berechnen, ohne das secret zu kennen.
Wichtige Einschränkung: HMAC ist nicht betroffen
Length extension attacks gelten für Konstruktionen wie HASH(secret || message) bei Merkle–Damgård-Hashes. Sie gelten nicht für HMAC (z.B. HMAC-SHA256), das speziell entwickelt wurde, um diese Problemklasse zu vermeiden.
Tools
- hash_extender: GitHub - iagox86/hash_extender
- hashpump: https://github.com/bwall/HashPump
Gute Erklärung
https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
Passwort-Hashing und Cracking
Erste Fragen
- Ist es salted? (achte auf
salt$hash-Formate) - Ist es ein fast hash (MD5/SHA1/SHA256) oder ein slow KDF (bcrypt/scrypt/argon2/PBKDF2)?
- Hast du einen format hint (hashcat mode / John format)?
Praktische Vorgehensweise
- Hash identifizieren:
hashid <hash>hashcat --example-hashes | rg -n "<pattern>"
- Ist es unsalted und häufig: probiere Online-DBs und Identifikationstools aus dem Crypto-Workflow-Abschnitt.
- Andernfalls cracken:
hashcat -m <mode> -a 0 hashes.txt wordlist.txtjohn --wordlist=wordlist.txt --format=<fmt> hashes.txt
Häufige Fehler, die du ausnutzen kannst
- Gleiches Passwort bei mehreren Nutzern wiederverwendet → crack one, pivot.
- Abgeschnittene Hashes / benutzerdefinierte Transformationen → normalisieren und erneut versuchen.
- Schwache KDF-Parameter (z.B. geringe PBKDF2-Iterationen) → weiterhin crackbar.
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
HackTricks

