Hashes, MACs & KDFs
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Поширені шаблони CTF
- “Signature” насправді
hash(secret || message)→ length extension. - Unsalted password hashes → trivial cracking / lookup.
- Плутати hash із MAC (hash != authentication).
Hash length extension attack
Техніка
Ви часто можете скористатися цим, якщо сервер обчислює “signature” так:
sig = HASH(secret || message)
і використовує Merkle–Damgård hash (класичні приклади: MD5, SHA-1, SHA-256).
Якщо ви знаєте:
messagesig- hash function
- (or can brute-force)
len(secret)
Тоді ви можете обчислити валідний signature для:
message || padding || appended_data
не знаючи секрету.
Важливе обмеження: HMAC не зачіпається
Length extension attacks застосовні до конструкцій типу HASH(secret || message) для Merkle–Damgård hashes. Вони не застосовуються до HMAC (наприклад, HMAC-SHA256), який спеціально спроектований, щоб уникнути цього класу проблем.
Інструменти
- hash_extender: GitHub - iagox86/hash_extender
- hashpump: https://github.com/bwall/HashPump
Детальне пояснення
https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
Password hashing and cracking
Початкові питання
- Чи є воно salted? (шукайте формати
salt$hash) - Це fast hash (MD5/SHA1/SHA256) чи slow KDF (bcrypt/scrypt/argon2/PBKDF2)?
- Чи маєте ви підказку щодо format (hashcat mode / John format)?
Практичний робочий процес
- Ідентифікуйте hash:
hashid <hash>hashcat --example-hashes | rg -n "<pattern>"
- Якщо unsalted і поширений: спробуйте онлайн DBs та інструменти ідентифікації з розділу crypto workflow.
- Інакше crack:
hashcat -m <mode> -a 0 hashes.txt wordlist.txtjohn --wordlist=wordlist.txt --format=<fmt> hashes.txt
Поширені помилки, якими можна скористатися
- Same password reused across users → crack one, pivot.
- Truncated hashes / custom transforms → normalize and retry.
- Weak KDF parameters (e.g., low PBKDF2 iterations) → still crackable.
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


