Ret2ret & Reo2pop

Reading time: 3 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

Ret2ret

Le principal objectif de cette technique est d'essayer de contourner l'ASLR en abusant d'un pointeur existant dans la pile.

En gros, les débordements de pile sont généralement causés par des chaînes, et les chaînes se terminent par un octet nul à la fin en mémoire. Cela permet d'essayer de réduire l'emplacement pointé par un pointeur existant déjà dans la pile. Donc, si la pile contenait 0xbfffffdd, ce débordement pourrait le transformer en 0xbfffff00 (notez le dernier octet mis à zéro).

Si cette adresse pointe vers notre shellcode dans la pile, il est possible de faire en sorte que le flux atteigne cette adresse en ajoutant des adresses à l'instruction ret jusqu'à ce que celle-ci soit atteinte.

Par conséquent, l'attaque serait comme suit :

  • NOP sled
  • Shellcode
  • Écraser la pile depuis l'EIP avec des adresses vers ret (RET sled)
  • 0x00 ajouté par la chaîne modifiant une adresse de la pile pour la faire pointer vers le NOP sled

En suivant ce lien, vous pouvez voir un exemple d'un binaire vulnérable et dans celui-ci l'exploit.

Ret2pop

Dans le cas où vous pouvez trouver un pointeur parfait dans la pile que vous ne voulez pas modifier (dans ret2ret, nous changeons le dernier octet le plus bas en 0x00), vous pouvez effectuer la même attaque ret2ret, mais la longueur du RET sled doit être réduite de 1 (de sorte que le dernier 0x00 écrase les données juste avant le pointeur parfait), et la dernière adresse du RET sled doit pointer vers pop <reg>; ret.
De cette façon, les données avant le pointeur parfait seront supprimées de la pile (ce sont les données affectées par le 0x00) et le dernier ret pointera vers l'adresse parfaite dans la pile sans aucun changement.

En suivant ce lien, vous pouvez voir un exemple d'un binaire vulnérable et dans celui-ci l'exploit.

Références

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