Ret2ret & Reo2pop
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Das Hauptziel dieser Technik ist es, zu versuchen, ASLR zu umgehen, indem ein vorhandener Zeiger im Stack missbraucht wird.
Im Grunde genommen werden Stack-Überläufe normalerweise durch Strings verursacht, und Strings enden in der Regel mit einem Null-Byte am Ende im Speicher. Dies ermöglicht es, den Ort, auf den ein bereits vorhandener Zeiger im Stack zeigt, zu reduzieren. Wenn der Stack also 0xbfffffdd
enthielt, könnte dieser Überlauf ihn in 0xbfffff00
umwandeln (beachte das letzte Null-Byte).
Wenn diese Adresse auf unseren Shellcode im Stack zeigt, ist es möglich, den Fluss zu dieser Adresse zu bringen, indem Adressen zur ret
-Anweisung hinzugefügt werden, bis diese erreicht wird.
Daher würde der Angriff folgendermaßen aussehen:
NOP-Sled
Shellcode
Überschreibe den Stack vom EIP mit Adressen zu ret
(RET-Sled)
0x00, das durch den String hinzugefügt wird, ändert eine Adresse im Stack, sodass sie auf den NOP-Sled zeigt
Folge diesem Link, um ein Beispiel für eine verwundbare Binärdatei zu sehen, und in diesem hier den Exploit.
Falls du einen perfekten Zeiger im Stack finden kannst, den du nicht ändern möchtest (in ret2ret
ändern wir das letzte niedrigste Byte auf 0x00
), kannst du den gleichen ret2ret
-Angriff durchführen, aber die Länge des RET-Sleds muss um 1 verkürzt werden (damit das letzte 0x00
die Daten direkt vor dem perfekten Zeiger überschreibt), und die letzte Adresse des RET-Sleds muss auf pop <reg>; ret
zeigen.
Auf diese Weise werden die Daten vor dem perfekten Zeiger vom Stack entfernt (dies sind die Daten, die durch das 0x00
betroffen sind) und das letzte ret
zeigt auf die perfekte Adresse im Stack ohne Änderungen.
Folge diesem Link, um ein Beispiel für eine verwundbare Binärdatei zu sehen, und in diesem hier den Exploit.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)