Attaque par extension de longueur de hachage

Reading time: 2 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

Résumé de l'attaque

Imaginez un serveur qui signe des données en ajoutant un secret à des données en clair connues, puis en hachant ces données. Si vous savez :

  • La longueur du secret (cela peut Ă©galement ĂȘtre bruteforced Ă  partir d'une plage de longueurs donnĂ©e)
  • Les donnĂ©es en clair
  • L'algorithme (et il est vulnĂ©rable Ă  cette attaque)
  • Le remplissage est connu
  • En gĂ©nĂ©ral, un par dĂ©faut est utilisĂ©, donc si les 3 autres exigences sont remplies, cela l'est aussi
  • Le remplissage varie en fonction de la longueur du secret + donnĂ©es, c'est pourquoi la longueur du secret est nĂ©cessaire

Alors, il est possible pour un attaquant d'ajouter des données et de générer une signature valide pour les données précédentes + données ajoutées.

Comment ?

Fondamentalement, les algorithmes vulnérables génÚrent les hachages en hachant d'abord un bloc de données, puis, à partir du hachage précédemment créé (état), ils ajoutent le prochain bloc de données et le hachent.

Ensuite, imaginez que le secret est "secret" et que les données sont "data", le MD5 de "secretdata" est 6036708eba0d11f6ef52ad44e8b74d5b.
Si un attaquant veut ajouter la chaĂźne "append", il peut :

  • GĂ©nĂ©rer un MD5 de 64 "A"
  • Changer l'Ă©tat du hachage prĂ©cĂ©demment initialisĂ© en 6036708eba0d11f6ef52ad44e8b74d5b
  • Ajouter la chaĂźne "append"
  • Terminer le hachage et le hachage rĂ©sultant sera un valide pour "secret" + "data" + "padding" + "append"

Outil

GitHub - iagox86/hash_extender

Références

Vous pouvez trouver cette attaque bien expliquée sur https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks