mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
5.2 KiB
5.2 KiB
Nyumba ya Einherjar
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Taarifa Msingi
Kanuni
- Angalia mfano kutoka https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
- Au ule kutoka https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation (inaweza kuhitaji kujaza tcache)
Lengo
- Lengo ni kutenga kumbukumbu katika anwani karibu yoyote maalum.
Mahitaji
- Unda kikundi bandia tunapotaka kutenga kikundi:
- Weka pointers kuelekeza kwa yenyewe ili kuepuka ukaguzi wa usalama
- Kosa moja kwa moja kutoka kikundi kimoja hadi kingine kurekebisha prev inatumika
- Eleza katika
prev_size
ya kikundi kilichotumiwa kwa kosa moja kwa moja tofauti kati yake na kikundi bandia - Ukubwa wa kikundi bandia lazima pia uwe umewekwa ukubwa sawa kuepuka ukaguzi wa usalama
- Kwa kujenga vikundi hivi, utahitaji uvujaji wa kumbukumbu ya kitalu.
Shambulio
- Kikundi bandia
A
kinatengenezwa ndani ya kikundi kinachodhibitiwa na mshambuliaji kwa kuelekeza nafd
nabk
kwenye kikundi cha asili kuepuka ulinzi - Vikundi vingine 2 (
B
naC
) vinatengwa - Kwa kutumia kosa moja kwa moja katika
B
moja, biti yaprev inatumika
inasafishwa na data yaprev_size
inaandikwa upya na tofauti kati ya mahali ambapo kikundi chaC
kinatengwa, hadi kikundi bandia chaA
kilichozalishwa awali prev_size
hii na ukubwa katika kikundi bandiaA
lazima ziwe sawa kuepuka ukaguzi.- Kisha, tcache inajazwa
- Kisha,
C
inaachiliwa ili iungane na kikundi bandiaA
- Kisha, kikundi kipya
D
kinatengenezwa ambacho kitakuwa kuanzia kwenye kikundi cha bandia chaA
na kufunika kikundi chaB
- Nyumba ya Einherjar inamalizika hapa
- Hii inaweza kuendelea na shambulio la benki ya haraka:
- Fungua
B
kuiongeza kwenye benki ya haraka fd
yaB
inaandikwa upya ikifanya ielekee kwenye anwani ya lengo ikidukua kikundi chaD
(kwani inaB
ndani)- Kisha, malloc 2 zinafanywa na ya pili itakuwa kutenga anwani ya lengo
Marejeo na mifano mingine
- https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
- https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_einherjar/#2016-seccon-tinypad
- Baada ya kuachilia pointi, hazifutwi, kwa hivyo bado inawezekana kufikia data zao. Kwa hivyo kitalu kimoja kimewekwa kwenye benki isiyosortiwa na kuvuja pointi inayojumuisha (uvujaji wa libc) na kisha kitalu kipya cha kumbukumbu kinawekwa kwenye benki isiyosortiwa na kuvuja anwani ya kitalu kutoka kwa pointi inayopata.
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.