PIE
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
'n Binêre wat as PIE gecompileer is, of Posisie Onafhanklike Uitvoerbare, beteken die program kan by verskillende geheue plekke laai elke keer as dit uitgevoer word, wat hardgecodeerde adresse voorkom.
Die truuk om hierdie binêre te benut, lê in die benutting van die relatiewe adresse—die verskille tussen dele van die program bly dieselfde selfs al verander die absolute plekke. Om PIE te omseil, hoef jy net een adres te lek, tipies van die stapel deur gebruik te maak van kwesbaarhede soos formaat string aanvalle. Sodra jy 'n adres het, kan jy ander bereken deur hul vaste verskille.
'n Nuttige wenk in die benutting van PIE binêre is dat hul basisadres tipies eindig op 000 as gevolg van geheue bladsye wat die eenhede van randomisering is, met 'n grootte van 0x1000 bytes. Hierdie uitlijning kan 'n kritieke kontrole wees as 'n aanval nie werk soos verwag nie, wat aandui of die korrekte basisadres geïdentifiseer is.
Of jy kan dit gebruik vir jou aanval, as jy lek dat 'n adres geleë is by 0x649e1024
weet jy dat die basisadres 0x649e1000
is en van daar kan jy net verskille van funksies en plekke bereken.
Om PIE te omseil, is dit nodig om 'n adres van die gelaaide binêre te lek, daar is 'n paar opsies hiervoor:
ASLR gedeaktiveer: As ASLR gedeaktiveer is, word 'n binêre wat met PIE gecompileer is altyd in dieselfde adres gelaai, daarom sal PIE nutteloos wees aangesien die adresse van die objekte altyd op dieselfde plek sal wees.
Gegee die lek (algemeen in maklike CTF uitdagings, kyk na hierdie voorbeeld)
Brute-force EBP en EIP waardes in die stapel totdat jy die korrekte lek:
Gebruik 'n arbitraire lees kwesbaarheid soos formaat string om 'n adres van die binêre te lek (bv. van die stapel, soos in die vorige tegniek) om die basis van die binêre te kry en gebruik verskille van daar. Vind 'n voorbeeld hier.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)