Ret2ret & Reo2pop
Last updated
Last updated
Leer & oefen AWS Hack:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hack: HackTricks Opleiding GCP Red Team Expert (GRTE)
Die hoof doel van hierdie tegniek is om te probeer ASLR te omseil deur 'n bestaande aanwyser in die stok te misbruik.
Oor die algemeen word stokoorvloeiings gewoonlik veroorsaak deur strings, en strings eindig met 'n nulbyte aan die einde in die geheue. Dit maak dit moontlik om die plek wat deur 'n bestaande aanwyser in die stok aangedui word, te probeer verminder. As die stok byvoorbeeld 0xbfffffdd
bevat, kan hierdie oorvloeiing dit omskep na 0xbfffff00
(let op die laaste genulbyte).
As daardie adres na ons shellkode in die stok verwys, is dit moontlik om die vloei na daardie adres te laat bereik deur adresse by die ret
-instruksie te voeg totdat dit bereik word.
Dus sal die aanval so lyk:
NOP-glybaan
Shellkode
Oorskryf die stok vanaf die EIP met adresse na ret
(RET-glybaan)
0x00 bygevoeg deur die string wat 'n adres van die stok wysig sodat dit na die NOP-glybaan wys
Deur hierdie skakel kan jy 'n voorbeeld sien van 'n kwesbare binêre en in hierdie een die aanval.
In die geval dat jy 'n perfekte aanwyser in die stok vind wat jy nie wil wysig nie (in ret2ret
verander ons die finale laagste byte na 0x00
), kan jy dieselfde ret2ret
-aanval uitvoer, maar die lengte van die RET-glybaan moet met 1 verkort word (sodat die finale 0x00
die data net voor die perfekte aanwyser oorskryf), en die laaste adres van die RET-glybaan moet na pop <reg>; ret
wys.
Op hierdie manier sal die data voor die perfekte aanwyser van die stok verwyder word (dit is die data wat deur die 0x00
geraak word) en die finale ret
sal na die perfekte adres in die stok wys sonder enige verandering.
Deur hierdie skakel kan jy 'n voorbeeld sien van 'n kwesbare binêre en in hierdie een die aanval.
Leer & oefen AWS Hack:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hack: HackTricks Opleiding GCP Red Team Expert (GRTE)