mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
5 KiB
5 KiB
Kuća Einherjar
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Kod
- Proverite primer sa https://github.com/shellphish/how2heap/blob/master/glibc_2.35/house_of_einherjar.c
- Ili sa https://guyinatuxedo.github.io/42-house_of_einherjar/house_einherjar_exp/index.html#house-of-einherjar-explanation (možda će biti potrebno popuniti tcache)
Cilj
- Cilj je alocirati memoriju na gotovo bilo kojoj određenoj adresi.
Zahtevi
- Kreirati lažan blok kada želimo da alociramo blok:
- Postaviti pokazivače da pokazuju na sebe kako bi se zaobišle provere ispravnosti
- Off by one prelazak sa jednog bloka na drugi kako bi se izmenio prethodni u upotrebi
- Ukazati u
prev_size
zloupotrebljenog bloka off-by-one razliku između njega i lažnog bloka - Veličina lažnog bloka takođe mora biti postavljena iste veličine kako bi se zaobišle provere ispravnosti
- Za konstruisanje ovih blokova, biće vam potreban curenje hipa.
Napad
- Kreiran je
A
lažan blok unutar bloka koji kontroliše napadač pokazujući safd
ibk
na originalni blok kako bi se zaobišle zaštite - Alocirana su još 2 bloka (
B
iC
) - Zloupotrebom off by one u
B
bloku bit je očišćen i podaciprev_size
su prebrisani razlikom između mesta gde je alociran blokC
, do lažnog blokaA
generisanog pre - Ovaj
prev_size
i veličina u lažnom blokuA
moraju biti iste kako bi se zaobišle provere. - Zatim, tcache je popunjen
- Zatim,
C
je oslobođen tako da se konsoliduje sa lažnim blokomA
- Zatim je kreiran novi blok
D
koji će početi u lažnom blokuA
i pokriti blokB
- Kuća Einherjar se završava ovde
- Ovo se može nastaviti sa brzim bin napadom:
- Oslobodite
B
da ga dodate u brzi bin fd
odB
je prebrisan tako da pokazuje na ciljnu adresu zloupotrebljavajući blokD
(jer sadržiB
unutra)- Zatim, izvršene su 2 alokacije i druga će alocirati ciljnu adresu
Reference i drugi primeri
- 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
- Nakon oslobađanja pokazivača, oni nisu anulirani, pa je i dalje moguće pristupiti njihovim podacima. Stoga je blok smešten u nesortirani bin i procurili su pokazivači koje sadrži (curenje libc-a) a zatim je novi hip smešten u nesortirani bin i procurila je adresa hipa iz pokazivača koji dobija.
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJAVU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte Porodicu PEASS, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.