macOS PID Reuse
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wakati huduma ya XPC ya macOS inakagua mchakato ulioitwa kulingana na PID na siyo kwenye audit token, inakuwa hatarini kwa shambulio la PID reuse. Shambulio hili linategemea race condition ambapo exploit itakuwa inatuma ujumbe kwa huduma ya XPC ikiabudu kazi hiyo na tu baada ya hapo, inatekeleza posix_spawn(NULL, target_binary, NULL, &attr, target_argv, environ)
na binary iliyo ruhusiwa.
Kazi hii itafanya binary iliyo ruhusiwa kuwa na PID lakini ujumbe mbaya wa XPC utakuwa umetumwa kabla tu. Hivyo, ikiwa huduma ya XPC itatumia PID kuthibitisha mtumaji na kuangalia BAADA ya utekelezaji wa posix_spawn
, itadhani inatoka kwenye mchakato uliothibitishwa.
Ikiwa unapata kazi shouldAcceptNewConnection
au kazi inayoitwa na hiyo ikiita processIdentifier
na siyo auditToken
. Inaweza kuwa na uwezekano mkubwa kwamba inathibitisha PID ya mchakato na siyo audit token.
Kama kwa mfano katika picha hii (iliyopigwa kutoka kwenye rejea):
Angalia mfano huu wa exploit (tena, uliochukuliwa kutoka kwenye rejea) ili kuona sehemu 2 za exploit:
Moja ambayo inazalisha forks kadhaa
Kila fork itatumia payload kwa huduma ya XPC wakati inatekeleza posix_spawn
mara tu baada ya kutuma ujumbe.
Ili exploit ifanye kazi ni muhimu export`` ``
OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
au kuweka ndani ya exploit:
Chaguo la kwanza linatumia NSTasks
na hoja kuzindua watoto ili kutumia RC
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)