Large Bin Attack
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Vir meer inligting oor wat 'n groot bin is, kyk na hierdie bladsy:
Bins & Memory AllocationsDit is moontlik om 'n groot voorbeeld te vind in how2heap - groot bin aanval.
Basies kan jy hier sien hoe, in die nuutste "huidige" weergawe van glibc (2.35), dit nie nagegaan word nie: P->bk_nextsize
wat dit moontlik maak om 'n arbitrêre adres te verander met die waarde van 'n groot bin stuk as sekere voorwaardes nagekom word.
In daardie voorbeeld kan jy die volgende voorwaardes vind:
'n Groot stuk word toegeken
'n Groot stuk kleiner as die eerste een, maar in dieselfde indeks, word toegeken
Dit moet kleiner wees, so dit moet eerste in die bin gaan
(Een stuk om te voorkom dat dit saamgevoeg word met die boonste stuk word geskep)
Dan word die eerste groot stuk vrygestel en 'n nuwe stuk groter as dit word toegeken -> Chunk1 gaan na die groot bin
Dan word die tweede groot stuk vrygestel
Nou, die kwesbaarheid: Die aanvaller kan chunk1->bk_nextsize
verander na [target-0x20]
Dan word 'n groter stuk as chunk 2 toegeken, so chunk2 word in die groot bin ingevoeg wat die adres chunk1->bk_nextsize->fd_nextsize
oorskryf met die adres van chunk2
Daar is ander potensiële scenario's, die ding is om 'n stuk wat kleiner is as 'n huidige X stuk in die bin by die groot bin te voeg, so dit moet net voor dit in die bin ingevoeg word, en ons moet in staat wees om X se bk_nextsize
te verander, aangesien dit is waar die adres van die kleiner stuk geskryf sal word.
Dit is die relevante kode van malloc. Kommentaar is bygevoeg om beter te verstaan hoe die adres oorgeskryf is:
Dit kan gebruik word om die global_max_fast
globale veranderlike van libc te oorskry om dan 'n fast bin aanval met groter stukke te ontgin.
Jy kan 'n ander uitstekende verduideliking van hierdie aanval vind in guyinatuxedo.
Large bin aanval in dieselfde situasie soos dit verskyn in how2heap.
Die skryf primitief is meer kompleks, omdat global_max_fast
hier nutteloos is.
FSOP is nodig om die ontploffing te voltooi.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)