Hash Length Extension Attack
Reading time: 2 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
Riepilogo dell'attacco
Immagina un server che firma alcuni dati aggiungendo un segreto a dei dati di testo chiaro noti e poi hashando quei dati. Se conosci:
- La lunghezza del segreto (questo può essere anche forzato a bruteforce da un intervallo di lunghezza dato)
- I dati di testo chiaro
- L'algoritmo (e è vulnerabile a questo attacco)
- Il padding è noto
- Di solito viene utilizzato un padding predefinito, quindi se gli altri 3 requisiti sono soddisfatti, anche questo lo è
- Il padding varia a seconda della lunghezza del segreto + dati, ecco perché è necessaria la lunghezza del segreto
Allora, è possibile per un attaccante aggiungere dati e generare una firma valida per i dati precedenti + dati aggiunti.
Come?
Fondamentalmente, gli algoritmi vulnerabili generano gli hash prima hashando un blocco di dati, e poi, dallo hash precedentemente creato (stato), aggiungono il prossimo blocco di dati e lo hashano.
Poi, immagina che il segreto sia "secret" e i dati siano "data", l'MD5 di "secretdata" è 6036708eba0d11f6ef52ad44e8b74d5b.
Se un attaccante vuole aggiungere la stringa "append" può:
- Generare un MD5 di 64 "A"
- Cambiare lo stato dell'hash precedentemente inizializzato a 6036708eba0d11f6ef52ad44e8b74d5b
- Aggiungere la stringa "append"
- Completare l'hash e l'hash risultante sarà un valido per "secret" + "data" + "padding" + "append"
Strumento
{{#ref}} https://github.com/iagox86/hash_extender {{#endref}}
Riferimenti
Puoi trovare questo attacco ben spiegato in https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.