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)
Kyk na die voorbeeld van https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
Of die een van https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation (jy mag dalk die tcache moet vul)
Die doel is om geheue in byna enige spesifieke adres toe te ken.
Skep 'n valse chunk wanneer ons 'n chunk wil toeken:
Stel wysers in om na hulself te wys om saneitskontroles te omseil
Een-byte oorgang met 'n null byte van een chunk na die volgende om die PREV_INUSE
vlag te verander.
Dui in die prev_size
van die off-by-null misbruikte chunk die verskil tussen homself en die valse chunk aan
Die grootte van die valse chunk moet ook dieselfde grootte wees om saneitskontroles te omseil
Om hierdie chunks te bou, sal jy 'n heap leak nodig hê.
A
valse chunk word binne 'n chunk geskep wat deur die aanvaller beheer word wat met fd
en bk
na die oorspronklike chunk wys om beskermings te omseil
2 ander chunks (B
en C
) word toegeken
Deur die off by een in die B
een word die prev in use
bit skoongemaak en die prev_size
data word oorgeskryf met die verskil tussen die plek waar die C
chunk toegeken word, na die valse A
chunk wat voorheen gegenereer is
Hierdie prev_size
en die grootte in die valse chunk A
moet dieselfde wees om kontroles te omseil.
Dan word die tcache gevul
Dan word C
vrygestel sodat dit saamgevoeg word met die valse chunk A
Dan word 'n nuwe chunk D
geskep wat in die valse A
chunk begin en die B
chunk bedek
Die huis van Einherjar eindig hier
Dit kan voortgegaan word met 'n vinnige bin aanval of Tcache vergiftiging:
Vry B
om dit by die vinnige bin / Tcache te voeg
B
's fd
word oorgeskryf sodat dit na die teikenadres wys wat die D
chunk misbruik (aangesien dit B
binne bevat)
Dan word 2 mallocs gedoen en die tweede een gaan die teikenadres toeken
Na die vrystelling van wysers word hulle nie genullifiseer nie, so dit is steeds moontlik om toegang tot hul data te verkry. Daarom word 'n chunk in die onsortering bin geplaas en die wysers wat dit bevat, word gelek (libc leak) en dan word 'n nuwe heap in die onsortering bin geplaas en 'n heap adres van die wyser wat dit kry, gelek.
Null-byte oorgang fout in strtok
.
Gebruik House of Einherjar om 'n oorvleueling chunks situasie te kry en eindig met Tcache vergiftiging om 'n arbitrêre skrywe primitief te verkry.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)