House of Einherjar
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
Kode
- 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)
Doel
- Die doel is om geheue in byna enige spesifieke adres toe te ken.
Vereistes
- Skep ’n valse chunk wanneer ons ’n chunk wil toeken:
- Stel wysers in om na hulself te wys om sanity kontroles te omseil
- Een-byte oorgang met ’n null byte van een chunk na die volgende om die
PREV_INUSEvlag te verander. - Dui in die
prev_sizevan 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 sanity kontroles te omseil
- Om hierdie chunks te konstrueer, sal jy ’n heap leak nodig hê.
Aanval
Avalse chunk word binne ’n chunk geskep wat deur die aanvaller beheer word wat metfdenbkna die oorspronklike chunk wys om beskermings te omseil- 2 ander chunks (
BenC) word toegeken - Deur die off by een in die
Been word dieprev in usebit skoongemaak en dieprev_sizedata word oorgeskryf met die verskil tussen die plek waar dieCchunk toegeken word, na die valseAchunk wat voorheen gegenereer is - Hierdie
prev_sizeen die grootte in die valse chunkAmoet dieselfde wees om kontroles te omseil. - Dan word die tcache gevul
- Dan word
Cvrygestel sodat dit saamgevoeg word met die valse chunkA - Dan word ’n nuwe chunk
Dgeskep wat in die valseAchunk begin en dieBchunk bedek - Die huis van Einherjar eindig hier
- Dit kan voortgegaan word met ’n vinnige bin aanval of Tcache vergiftiging:
- Vry
Bom dit by die vinnige bin / Tcache te voeg B’sfdword oorgeskryf sodat dit na die teikenadres wys deur dieDchunk te misbruik (aangesien ditBbinne bevat)- Dan word 2 mallocs gedoen en die tweede een gaan die teikenadres toeken
Verwysings en ander voorbeelde
- https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
- CTF https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_einherjar/#2016-seccon-tinypad
- 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 onsorteerde bin geplaas en die wysers wat dit bevat, word geleak (libc leak) en dan word ’n nuwe heap op die onsorteerde bin geplaas en ’n heap adres van die wysers wat dit ontvang, geleak.
- baby-talk. DiceCTF 2024
- Null-byte oorgang fout in
strtok. - Gebruik House of Einherjar om ’n oorvleuelende chunks situasie te kry en eindig met Tcache vergiftiging om ’n arbitrêre skryf primitief te verkry.
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

