House of Einherjar
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Basic Information
Code
- Angalia mfano kutoka https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
- Au ile kutoka https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation (huenda ukahitaji kujaza tcache)
Goal
- Lengo ni kugawa kumbukumbu katika anwani maalum karibu yoyote.
Requirements
- Unda chunk bandia tunapotaka kugawa chunk:
- Weka viashiria kuashiria yenyewe ili kupita ukaguzi wa usalama
- Overflow ya byte moja na byte ya null kutoka chunk moja hadi nyingine ili kubadilisha bendera ya
PREV_INUSE. - Onyesha katika
prev_sizeya chunk iliyoathiriwa na null tofauti kati yake na chunk bandia - Ukubwa wa chunk bandia lazima pia uwe umewekwa sawa ili kupita ukaguzi wa usalama
- Ili kujenga hizi chunks, utahitaji kuvuja heap.
Attack
Achunk bandia inaundwa ndani ya chunk inayodhibitiwa na mshambuliaji ikielekeza nafdnabkkwa chunk asilia ili kupita ulinzi- Chunks 2 nyingine (
BnaC) zinagawiwa - Kwa kutumia off by one katika
Bbendera yaprev in useinafutwa na data yaprev_sizeinabadilishwa na tofauti kati ya mahali ambapo chunkCinagawiwa, hadi chunk bandiaAiliyoundwa hapo awali - Hii
prev_sizena ukubwa katika chunk bandiaAlazima iwe sawa ili kupita ukaguzi. - Kisha, tcache inajazwa
- Kisha,
Cinachukuliwa ili kuungana na chunk bandiaA - Kisha, chunk mpya
Dinaundwa ambayo itaanza katika chunk bandiaAna kufunika chunkB - Nyumba ya Einherjar inamalizika hapa
- Hii inaweza kuendelea na shambulio la fast bin au Tcache poisoning:
- Free
Bili kuiongeza kwenye fast bin / Tcache fdyaBinabadilishwa ikifanya iweke kwenye anwani ya lengo ikitumia chunkD(kama inavyojumuishaBndani)- Kisha, mallocs 2 zinafanywa na ya pili itakuwa ikigawa anwani ya lengo
References and other examples
- 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
- Baada ya kuachilia viashiria havifutwi, hivyo bado inawezekana kufikia data zao. Kwa hivyo chunk inawekwa katika bin isiyo na mpangilio na kuvuja viashiria inavyoshikilia (libc leak) na kisha heap mpya inawekwa kwenye bin isiyo na mpangilio na kuvuja anwani ya heap kutoka kwa kiashiria inachopata.
- baby-talk. DiceCTF 2024
- Null-byte overflow bug katika
strtok. - Tumia House of Einherjar kupata hali ya chunks zinazoshirikiana na kumaliza na Tcache poisoning ili kupata primitive ya kuandika isiyo na mpangilio.
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks

