macOS PID Reuse
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)
Wanneer 'n macOS XPC diens die aangeroep proses nagaan op grond van die PID en nie op die audit token nie, is dit kwesbaar vir 'n PID hergebruik aanval. Hierdie aanval is gebaseer op 'n wedren toestand waar 'n ontploffing boodskappe na die XPC diens misbruik van die funksionaliteit gaan stuur en net na dit, posix_spawn(NULL, target_binary, NULL, &attr, target_argv, environ)
met die toegelate binêre uitvoer.
Hierdie funksie sal die toegelate binêre die PID laat besit, maar die kwaadwillige XPC boodskap sou net voorheen gestuur gewees het. So, as die XPC diens die PID gebruik om die sender te verifieer en dit NÁ die uitvoering van posix_spawn
nagaan, sal dit dink dit kom van 'n geautoriseerde proses.
As jy die funksie shouldAcceptNewConnection
of 'n funksie wat deur dit aangeroep word processIdentifier
en nie auditToken
aanroep nie, vind. Dit beteken hoogs waarskynlik dat dit die proses PID nagaan en nie die audit token nie.
Soos byvoorbeeld in hierdie beeld (geneem van die verwysing):
Kyk na hierdie voorbeeld ontploffing (weer, geneem van die verwysing) om die 2 dele van die ontploffing te sien:
Een wat verskeie vurkies genereer
Elke vurk sal die payload na die XPC diens stuur terwyl dit posix_spawn
net na die boodskap stuur.
Vir die ontploffing om te werk is dit belangrik om export`` ``
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
of om binne die ontploffing te plaas:
Eerste opsie om NSTasks
te gebruik en argument om die kinders te begin om die RC te ontgin
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)