macOS XPC Connecting Process Check
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 muunganisho unapoanzishwa na huduma ya XPC, seva itakagua ikiwa muunganisho unaruhusiwa. Hizi ndizo ukaguzi ambao kawaida hufanywa:
Angalia ikiwa mchakato unaounganisha umeandikwa na cheti kilichosainiwa na Apple (ambacho kinatolewa tu na Apple).
Ikiwa hii haijathibitishwa, mshambuliaji anaweza kuunda cheti bandia ili kufanana na ukaguzi mwingine wowote.
Angalia ikiwa mchakato unaounganisha umeandikwa na cheti cha shirika, (uthibitisho wa kitambulisho cha timu).
Ikiwa hii haijathibitishwa, cheti chochote cha mende kutoka Apple kinaweza kutumika kwa kusaini, na kuungana na huduma.
Angalia ikiwa mchakato unaounganisha una kitambulisho sahihi cha kifurushi.
Ikiwa hii haijathibitishwa, chombo chochote kilichosainiwa na shirika hilo hilo kinaweza kutumika kuingiliana na huduma ya XPC.
(4 au 5) Angalia ikiwa mchakato unaounganisha una nambari sahihi ya toleo la programu.
Ikiwa hii haijathibitishwa, wateja wa zamani, wasio salama, walio hatarini kwa sindano ya mchakato wanaweza kutumika kuungana na huduma ya XPC hata na ukaguzi mwingine ukiwa mahali.
(4 au 5) Angalia ikiwa mchakato unaounganisha una mazingira ya runtime yaliyohakikishwa bila haki hatari (kama zile zinazoruhusu kupakia maktaba za kawaida au kutumia DYLD env vars)
Ikiwa hii haijathibitishwa, mteja anaweza kuwa hatari kwa sindano ya msimbo
Angalia ikiwa mchakato unaounganisha una haki inayoruhusu kuungana na huduma. Hii inatumika kwa binaries za Apple.
Uthibitisho lazima uwe kulingana na tokeni ya ukaguzi ya mteja unaounganisha badala ya kitambulisho chake cha mchakato (PID) kwani ya kwanza inazuia shambulio la upya la PID.
Wandevu hawatumii mara kwa mara tokeni ya ukaguzi API wito kwani ni binafsi, hivyo Apple inaweza kubadilisha wakati wowote. Zaidi ya hayo, matumizi ya API binafsi hayaruhusiwi katika programu za Mac App Store.
Ikiwa njia processIdentifier
inatumika, inaweza kuwa hatari
xpc_dictionary_get_audit_token
inapaswa kutumika badala ya xpc_connection_get_audit_token
, kwani ya mwisho inaweza pia kuwa hatari katika hali fulani.
Kwa maelezo zaidi kuhusu shambulio la upya la PID angalia:
macOS PID ReuseKwa maelezo zaidi xpc_connection_get_audit_token
shambulio angalia:
Trustcache ni njia ya kujihami iliyowekwa katika mashine za Apple Silicon ambayo inahifadhi hifadhidata ya CDHSAH ya binaries za Apple ili tu binaries zisizobadilishwa zinazoruhusiwa ziweze kutekelezwa. Hii inazuia utekelezaji wa toleo la kudharau.
Seva itatekeleza uthibitisho huu katika kazi inayoitwa shouldAcceptNewConnection
.
Kitu NSXPCConnection kina mali ya faragha auditToken
(ile ambayo inapaswa kutumika lakini inaweza kubadilika) na mali ya umma processIdentifier
(ile ambayo haipaswi kutumika).
Mchakato unaounganisha unaweza kuthibitishwa kwa kitu kama:
Ikiwa mendelevu hataki kuangalia toleo la mteja, anaweza kuangalia kwamba mteja si hatarini kwa sindano ya mchakato angalau:
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)