Hashes, MACs & KDFs
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Common CTF patterns
- โSignatureโ์ ์ค์ ๋ก
hash(secret || message)โ length extension. - Salt๊ฐ ์๋ password hashes โ ์ฌ์ด 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
- (๋๋ brute-forceํ ์ ์๋ค๋ฉด)
len(secret)
๊ทธ๋ ๋ค๋ฉด secret์ ์์ง ์๊ณ ๋ ๋ค์์ ๋ํ ์ ํจํ signature๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค:
message || padding || appended_data
์ค์ํ ์ ํ: HMAC๋ ์ํฅ์ ๋ฐ์ง ์์
Length extension ๊ณต๊ฒฉ์ MerkleโDamgรฅrd hashes์ ๋ํด HASH(secret || message)์ ๊ฐ์ ๊ตฌ์ฑ์ ์ ์ฉ๋ฉ๋๋ค. ์ด๋ HMAC(์: HMAC-SHA256)์๋ ์ ์ฉ๋์ง ์์ผ๋ฉฐ, HMAC์ ์ด๋ฌํ ์ข
๋ฅ์ ๋ฌธ์ ๋ฅผ ํํผํ๋๋ก ํน๋ณํ ์ค๊ณ๋์์ต๋๋ค.
Tools
- 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 hint (hashcat mode / John format)์ด ์๋์?
์ค์ ์ํฌํ๋ก์ฐ
- ํด์ ์๋ณ:
hashid <hash>hashcat --example-hashes | rg -n "<pattern>"
- Salt๊ฐ ์๊ณ ํํ ๊ฒฝ์ฐ: ์จ๋ผ์ธ DB์ crypto workflow ์น์ ์ ์๋ณ ๋๊ตฌ๋ฅผ ์๋ํ์ธ์.
- ๊ทธ๋ ์ง ์๋ค๋ฉด crack:
hashcat -m <mode> -a 0 hashes.txt wordlist.txtjohn --wordlist=wordlist.txt --format=<fmt> hashes.txt
์ ์ฉํ ์ ์๋ ์ผ๋ฐ์ ์ธ ์ค์
- ๋์ผํ password๊ฐ ์ฌ๋ฌ ์ฌ์ฉ์์ ์ฌ์ฌ์ฉ๋จ โ crack one, pivot.
- ์๋ฆฐ(truncated) hashes / custom transforms โ normalize and retry.
- ์ฝํ KDF ํ๋ผ๋ฏธํฐ(์: ๋ฎ์ PBKDF2 ๋ฐ๋ณต ์) โ ์ฌ์ ํ crackable.
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


