hacktricks/binary-exploitation/heap/house-of-einherjar.md

4.1 KiB

Maison d'Einherjar

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Informations de base

Code

Objectif

  • L'objectif est d'allouer de la mémoire à presque n'importe quelle adresse spécifique.

Exigences

  • Décalage d'un sur l'en-tête du chunk suivant pour modifier le prev in use
  • Pouvoir modifier les données prev_size, qui font partie du chunk actuel (à la fin)
  • Fuite de tas

Attaque

  • Un faux chunk est créé à l'intérieur d'un chunk contrôlé par l'attaquant pointant avec fd et bk vers le chunk d'origine pour contourner les protections
  • 2 autres chunks (B et C) sont créés.
  • En exploitant le décalage d'un dans le B, le bit prev in use est nettoyé et les données prev_size sont écrasées avec la différence entre l'endroit où le chunk C est alloué et le faux chunk A généré précédemment.
  • Ce prev_size et la taille du faux chunk A doivent être les mêmes pour contourner les vérifications.
  • Ensuite, le Tcache est rempli
  • Ensuite, C est libéré pour qu'il se consolide avec le faux chunk A
  • Ensuite, un nouveau chunk D est créé qui commencera dans le faux chunk A et couvrira le chunk B
  • Ensuite, B est libéré et son fd est écrasé avec l'adresse cible le faisant pointer vers l'adresse cible en exploitant le chunk D qui le contient.
  • Ensuite, 2 mallocs sont effectués car le deuxième va contenir l'adresse cible

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :