House of Rabbit
Last updated
Last updated
Lernen Sie & üben Sie AWS-Hacking: HackTricks Training AWS Red Team Expert (ARTE) Lernen Sie & üben Sie GCP-Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Fähigkeit, den fastbin fd-Zeiger oder die Größe zu ändern: Dies bedeutet, dass Sie den Vorwärtszeiger eines Chunks im fastbin oder seine Größe ändern können.
Fähigkeit, malloc_consolidate
auszulösen: Dies kann durch Zuweisen eines großen Chunks oder durch Zusammenführen des Top-Chunks erfolgen, was dazu führt, dass der Heap Chunks konsolidiert.
Überlappende Chunks erstellen: Um einen Chunk mit einem anderen zu überlappen, um weitere Heap-Manipulationen zu ermöglichen.
Fälschung von Fake-Chunks: Um den Allocator dazu zu bringen, einen gefälschten Chunk während der Heap-Operationen als legitimen Chunk zu behandeln.
Ziel: Erstellen eines überlappenden Chunks durch Manipulation der Größe eines fastbin-Chunks.
Schritt 1: Chunks zuweisen
Schritt 2: Freigeben von Chunks
Wir geben beide Chunks frei und fügen sie der fastbin-Liste hinzu.
Schritt 3: Größenänderung des Chunks
Schritt 4: Trigger malloc_consolidate
Allocating a large chunk triggers the malloc_consolidate
function, merging small chunks in the fast bin. The manipulated size of chunk1
causes it to overlap with chunk2
.
After consolidation, chunk1
overlaps with chunk2
, allowing for further exploitation.
fd
pointerObjective: Create a fake chunk by manipulating the fast bin fd
pointer.
Schritt 1: Chunks zuweisen
Erklärung: Wir allozieren zwei Chunks, einen kleineren und einen größeren, um den Heap für den Fake Chunk einzurichten.
Schritt 2: Fake Chunk erstellen
Schritt 3: chunk1
freigeben
Erklärung: Wir geben chunk1
frei und fügen ihn der fastbin-Liste hinzu.
Schritt 4: Ändern Sie fd
von chunk1
Erklärung: Wir ändern den Vorwärtszeiger (fd
) von chunk1
so, dass er auf unseren gefälschten Chunk innerhalb von chunk2
zeigt.
Schritt 5: malloc_consolidate
auslösen
Die erneute Zuweisung eines großen Chunks löst malloc_consolidate
aus, das den Fake-Chunk verarbeitet.
Der Fake-Chunk wird Teil der Fastbin-Liste, was ihn zu einem legitimen Chunk für weitere Ausnutzungen macht.
Die House of Rabbit-Technik beinhaltet entweder die Modifizierung der Größe eines Fastbin-Chunks, um überlappende Chunks zu erstellen, oder die Manipulation des fd
-Zeigers, um Fake-Chunks zu erstellen. Dies ermöglicht es Angreifern, legitime Chunks im Heap zu fälschen und verschiedene Formen der Ausnutzung zu ermöglichen. Das Verständnis und die praktische Anwendung dieser Schritte werden Ihre Fähigkeiten in der Heap-Ausnutzung verbessern.