House of Rabbit
Last updated
Last updated
Naucz się i praktykuj Hacking AWS:HackTricks Szkolenie AWS Red Team Expert (ARTE) Naucz się i praktykuj Hacking GCP: HackTricks Szkolenie GCP Red Team Expert (GRTE)
Możliwość modyfikacji wskaźnika fd lub rozmiaru fastbin: Oznacza to, że możesz zmienić wskaźnik do przodu fragmentu w fastbin lub jego rozmiar.
Możliwość wywołania malloc_consolidate
: Można to zrobić albo alokując duży fragment, albo łącząc fragment górny, co zmusza stertę do konsolidacji fragmentów.
Utworzenie nakładających się fragmentów: Aby jeden fragment nakładał się na drugi, umożliwiając dalsze manipulacje stertą.
Podrobienie fałszywych fragmentów: Aby oszukać alokator, aby traktował fałszywy fragment jako prawidłowy fragment podczas operacji na stercie.
Cel: Utworzenie nakładającego się fragmentu poprzez manipulację rozmiarem fragmentu fastbin.
Krok 1: Alokacja fragmentów
Krok 2: Zwolnij bloki
Krok 3: Zmiana Rozmiaru Kawałka
Krok 4: Wywołaj malloc_consolidate
Przydzielanie dużej porcji powoduje wywołanie funkcji malloc_consolidate
, łączącej małe porcje w szybkim pojemniku. Zmanipulowany rozmiar chunk1
powoduje nakładanie się na chunk2
.
Po konsolidacji chunk1
nakłada się na chunk2
, co umożliwia dalsze wykorzystanie.
fd
Cel: Utwórz fałszywą porcję, manipulując wskaźnikiem fd
w szybkim pojemniku.
Krok 1: Przydziel porcje
Wyjaśnienie: Alokujemy dwa fragmenty, jeden mniejszy i jeden większy, aby przygotować stertę do fałszywego fragmentu.
Krok 2: Utwórz fałszywy fragment
Krok 3: Zwolnij chunk1
Wyjaśnienie: Zwolniamy chunk1
, dodając go do listy fastbin.
Krok 4: Zmodyfikuj fd
chunk1
Wyjaśnienie: Zmieniamy wskaźnik w przód (fd
) chunk1
, aby wskazywał na nasz fałszywy kawałek wewnątrz chunk2
.
Krok 5: Wywołaj malloc_consolidate
Alokacja ponownie dużej porcji powoduje uruchomienie malloc_consolidate
, który przetwarza fałszywy kawałek.
Fałszywy kawałek staje się częścią listy fastbin, co czyni go prawidłowym kawałkiem do dalszej eksploatacji.
Technika House of Rabbit polega na zmodyfikowaniu rozmiaru kawałka fast bin w celu stworzenia nakładających się kawałków lub manipulacji wskaźnikiem fd
w celu stworzenia fałszywych kawałków. Pozwala to atakującym na tworzenie prawidłowych kawałków na stercie, umożliwiając różne formy eksploatacji. Zrozumienie i praktykowanie tych kroków poprawi Twoje umiejętności eksploatacji sterty.