hacktricks/crypto-and-stego/hash-length-extension-attack.md

5.3 KiB

Hash Length Extension Attack

{% hint style="success" %} Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}

WhiteIntel

WhiteIntel è un motore di ricerca alimentato dal dark-web che offre funzionalità gratuite per controllare se un'azienda o i suoi clienti sono stati compromessi da malware rubatori.

Il loro obiettivo principale di WhiteIntel è combattere il furto di account e gli attacchi ransomware derivanti da malware che rubano informazioni.

Puoi controllare il loro sito web e provare il loro motore gratuitamente su:

{% embed url="https://whiteintel.io" %}


Riepilogo dell'attacco

Immagina un server che sta firmando alcuni dati aggiungendo un segreto a dei dati di testo chiaro noti e poi hashando quei dati. Se sai:

  • La lunghezza del segreto (questo può anche essere forzato a bruteforce da un dato intervallo di lunghezza)
  • 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 (stato) precedentemente creato, aggiungono il prossimo blocco di dati e lo hashano.

Poi, immagina che il segreto sia "segreto" e i dati siano "dati", l'MD5 di "segreto dati" è 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 "segreto" + "dati" + "padding" + "append"

Strumento

{% embed url="https://github.com/iagox86/hash_extender" %}

Riferimenti

Puoi trovare questo attacco ben spiegato in https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks

WhiteIntel

WhiteIntel è un motore di ricerca alimentato dal dark-web che offre funzionalità gratuite per controllare se un'azienda o i suoi clienti sono stati compromessi da malware rubatori.

Il loro obiettivo principale di WhiteIntel è combattere il furto di account e gli attacchi ransomware derivanti da malware che rubano informazioni.

Puoi controllare il loro sito web e provare il loro motore gratuitamente su:

{% embed url="https://whiteintel.io" %}

{% hint style="success" %} Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}