House of Einherjar
Last updated
Last updated
Leer & oefen AWS-hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP-hacking: HackTricks Training GCP Red Team Expert (GRTE)
Kontroleer die voorbeeld van https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
Of dié van https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation (jy mag die tcache moet vul)
Die doel is om geheue by amper enige spesifieke adres toe te ken.
Skep 'n vals stuk wanneer ons 'n stuk wil toeken:
Stel aanwysers in om na homself te wys om sinnigheidskontroles te omseil
Een-byte oorvloei met 'n nulbyte van een stuk na die volgende om die PREV_INUSE
-vlag te wysig.
Dui in die prev_size
van die off-by-null misbruikte stuk die verskil tussen homself en die vals stuk aan
Die grootte van die vals stuk moet ook dieselfde grootte wees om sinnigheidskontroles te omseil
Vir die konstruksie van hierdie stukke, sal jy 'n hoop lek nodig hê.
n Vals stuk word binne 'n stuk wat deur die aanvaller beheer word, geskep wat met
fden
bk` na die oorspronklike stuk wys om beskerming te omseil
2 ander stukke (B
en C
) word toegewys
Deur die off by one in die B
een te misbruik, word die prev in use
-bit skoongemaak en die prev_size
-data word oorskryf met die verskil tussen die plek waar die C
-stuk toegewys is, na die vals A
-stuk wat voorheen gegenereer is
Hierdie prev_size
en die grootte in die vals stuk A
moet dieselfde wees om kontroles te omseil.
Dan word die tcache gevul
Dan word C
vrygestel sodat dit konsolideer met die vals stuk A
Dan word 'n nuwe stuk D
geskep wat in die vals A
-stuk begin en die B
-stuk dek
Die huis van Einherjar eindig hier
Dit kan voortgesit word met 'n vinnige bin-aanval of Tcache-vergiftiging:
Stel B
vry om dit by die vinnige bin / Tcache te voeg
B
se fd
word oorskryf sodat dit na die teikenadres wys deur die D
-stuk te misbruik (omdat dit B
binne bevat)
Dan word 2 mallocs gedoen en die tweede een gaan die teikenadres toeken
Nadat aanwysers vrygestel word, word hulle nie genullifiseer nie, dus is dit steeds moontlik om by hulle data te kom. Daarom word 'n stuk in die ongesorteerde bin geplaas en die aanwysers wat dit bevat, gelek (libc-lek) en dan word 'n nuwe hoop op die ongesorteerde bin geplaas en word 'n hoopadres gelek van die aanwyser wat dit kry.
Nul-byte oorvloei-fout in strtok
.
Gebruik Huis van Einherjar om 'n situasie van oorvleuelende stukke te kry en eindig met Tcache-vergiftiging om 'n arbitrêre skryfprimitief te kry.
Leer & oefen AWS-hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP-hacking: HackTricks Training GCP Red Team Expert (GRTE)