Hashes, MACs & KDFs
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Padrões comuns de CTF
- “Signature” é na verdade
hash(secret || message)→ length extension. - Unsalted password hashes → trivial cracking / lookup.
- Confundir hash com MAC (hash != autenticação).
Hash length extension attack
Técnica
Você pode frequentemente explorar isso se um servidor computar uma “signature” como:
sig = HASH(secret || message)
e usar um Merkle–Damgård hash (exemplos clássicos: MD5, SHA-1, SHA-256).
Se você souber:
messagesig- hash function
- (ou puder brute-force)
len(secret)
Então você pode computar uma assinatura válida para:
message || padding || appended_data
sem conhecer o segredo.
Limitação importante: HMAC is not affected
Length extension attacks aplicam-se a construções como HASH(secret || message) para hashes Merkle–Damgård. Elas não se aplicam a HMAC (e.g., HMAC-SHA256), que é especificamente desenhada para evitar essa classe de problema.
Ferramentas
- hash_extender: GitHub - iagox86/hash_extender
- hashpump: https://github.com/bwall/HashPump
Boa explicação
https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
Password hashing and cracking
Primeiras perguntas
- Está salted? (procure por
salt$hashformats) - É um fast hash (MD5/SHA1/SHA256) ou um slow KDF (bcrypt/scrypt/argon2/PBKDF2)?
- Você tem uma format hint (hashcat mode / John format)?
Fluxo de trabalho prático
- Identificar o hash:
hashid <hash>hashcat --example-hashes | rg -n "<pattern>"
- Se unsalted e comum: tente DBs online e ferramentas de identificação da seção crypto workflow.
- Caso contrário, crackeie:
hashcat -m <mode> -a 0 hashes.txt wordlist.txtjohn --wordlist=wordlist.txt --format=<fmt> hashes.txt
Erros comuns que você pode explorar
- Mesma senha reutilizada entre usuários → crack one, pivot.
- Hashes truncados / transformações customizadas → normalizar e tentar novamente.
- Parâmetros fracos de KDF (e.g., low PBKDF2 iterations) → still crackable.
Tip
Aprenda e pratique Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.


