macOS Dangerous Entitlements & TCC perms
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)
Kumbuka kwamba entitlements zinazohusisha com.apple
hazipatikani kwa wahusika wengine, ni Apple pekee inayoweza kuzipatia.
com.apple.rootless.install.heritable
Entitlement com.apple.rootless.install.heritable
inaruhusu kuzidi SIP. Angalia hii kwa maelezo zaidi.
com.apple.rootless.install
Entitlement com.apple.rootless.install
inaruhusu kuzidi SIP. Angalia hii kwa maelezo zaidi.
com.apple.system-task-ports
(iliyokuwa inaitwa task_for_pid-allow
)Entitlement hii inaruhusu kupata task port kwa mchakato wowote, isipokuwa kernel. Angalia hii kwa maelezo zaidi.
com.apple.security.get-task-allow
Entitlement hii inaruhusu michakato mingine yenye entitlement com.apple.security.cs.debugger
kupata task port ya mchakato unaotendewa na binary yenye entitlement hii na kuingiza msimbo ndani yake. Angalia hii kwa maelezo zaidi.
com.apple.security.cs.debugger
Apps zenye Entitlement ya Zana za Ufuatiliaji zinaweza kuita task_for_pid()
ili kupata task port halali kwa apps zisizosainiwa na za wahusika wengine zenye entitlement ya Get Task Allow
iliyowekwa kuwa true
. Hata hivyo, hata na entitlement ya zana za ufuatiliaji, debugger hawezi kupata task ports za michakato ambazo hazina entitlement ya Get Task Allow
, na hivyo kulindwa na Ulinzi wa Uadilifu wa Mfumo. Angalia hii kwa maelezo zaidi.
com.apple.security.cs.disable-library-validation
Entitlement hii inaruhusu kupakia frameworks, plug-ins, au maktaba bila kusainiwa na Apple au kusainiwa na Kitambulisho sawa na executable kuu, hivyo mshambuliaji anaweza kutumia upakiaji wa maktaba fulani kuingiza msimbo. Angalia hii kwa maelezo zaidi.
com.apple.private.security.clear-library-validation
Entitlement hii ni sawa sana na com.apple.security.cs.disable-library-validation
lakini badala ya kuondoa uthibitishaji wa maktaba moja kwa moja, inaruhusu mchakato kuita csops
system call kuondoa.
Angalia hii kwa maelezo zaidi.
com.apple.security.cs.allow-dyld-environment-variables
Entitlement hii inaruhusu kutumia DYLD environment variables ambazo zinaweza kutumika kuingiza maktaba na msimbo. Angalia hii kwa maelezo zaidi.
com.apple.private.tcc.manager
au com.apple.rootless.storage
.TCC
Kulingana na blog hii na blog hii, entitlements hizi zinaruhusu kubadilisha database ya TCC.
system.install.apple-software
na system.install.apple-software.standar-user
Entitlements hizi zinaruhusu kufunga programu bila kuomba ruhusa kwa mtumiaji, ambayo inaweza kuwa na manufaa kwa kuinua mamlaka.
com.apple.private.security.kext-management
Entitlement inayohitajika kuomba kernel kupakia nyongeza ya kernel.
com.apple.private.icloud-account-access
Entitlement com.apple.private.icloud-account-access
inaruhusu kuwasiliana na huduma ya XPC com.apple.iCloudHelper
ambayo itatoa tokens za iCloud.
iMovie na Garageband walikuwa na entitlement hii.
Kwa maelezo zaidi kuhusu exploit ya kupata tokens za icloud kutoka kwa entitlement hiyo angalia mazungumzo: #OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
TODO: Sijui hii inaruhusu kufanya nini
com.apple.private.apfs.revert-to-snapshot
TODO: Katika ripoti hii imeelezwa kuwa hii inaweza kutumika kuboresha maudhui yaliyolindwa na SSV baada ya kuanzisha upya. Ikiwa unajua jinsi inavyofanya, tafadhali tuma PR!
com.apple.private.apfs.create-sealed-snapshot
TODO: Katika ripoti hii imeelezwa kuwa hii inaweza kutumika kuboresha maudhui yaliyolindwa na SSV baada ya kuanzisha upya. Ikiwa unajua jinsi inavyofanya, tafadhali tuma PR!
keychain-access-groups
Entitlement hii inataja makundi ya keychain ambayo programu ina ufikiaji:
kTCCServiceSystemPolicyAllFiles
Inatoa ruhusa za Upatikanaji Kamili wa Diski, moja ya ruhusa za juu zaidi za TCC unazoweza kuwa nazo.
kTCCServiceAppleEvents
Inaruhusu programu kutuma matukio kwa programu nyingine ambazo mara nyingi hutumiwa kwa kujiendesha kazi. Kwa kudhibiti programu nyingine, inaweza kutumia vibaya ruhusa zilizotolewa kwa programu hizi nyingine.
Kama kufanya ziombwe mtumiaji kwa nywila yake:
Au kufanya ziweze kutekeleza vitendo vya kiholela.
kTCCServiceEndpointSecurityClient
Inaruhusu, kati ya ruhusa nyingine, kuandika kwenye hifadhidata ya TCC ya watumiaji.
kTCCServiceSystemPolicySysAdminFiles
Inaruhusu kubadilisha sifa ya NFSHomeDirectory
ya mtumiaji ambayo inabadilisha njia ya folda yake ya nyumbani na hivyo inaruhusu kuepuka TCC.
kTCCServiceSystemPolicyAppBundles
Inaruhusu kubadilisha faili ndani ya pakiti za programu (ndani ya app.app), ambayo imepigwa marufuku kwa default.
Inawezekana kuangalia ni nani mwenye ufikiaji huu katika System Settings > Privacy & Security > App Management.
kTCCServiceAccessibility
Mchakato utaweza kutumia vipengele vya upatikanaji wa macOS, ambayo inamaanisha kwamba kwa mfano ataweza kubonyeza funguo. Hivyo anaweza kuomba ufikiaji wa kudhibiti programu kama Finder na kuidhinisha mazungumzo na ruhusa hii.
com.apple.security.cs.allow-jit
Ruhusa hii inaruhusu kuunda kumbukumbu ambayo inaweza kuandikwa na kutekelezwa kwa kupitisha bendera ya MAP_JIT
kwa kazi ya mfumo ya mmap()
. Angalia hii kwa maelezo zaidi.
com.apple.security.cs.allow-unsigned-executable-memory
Ruhusa hii inaruhusu kufuta au kubadilisha msimbo wa C, kutumia NSCreateObjectFileImageFromMemory
ambayo imepitwa na wakati, au kutumia mfumo wa DVDPlayback. Angalia hii kwa maelezo zaidi.
Kujumuisha ruhusa hii kunafichua programu yako kwa udhaifu wa kawaida katika lugha za msimbo zisizo salama. Fikiria kwa makini ikiwa programu yako inahitaji ubaguzi huu.
com.apple.security.cs.disable-executable-page-protection
Ruhusa hii inaruhusu kubadilisha sehemu za faili zake za kutekeleza kwenye diski ili kutoka kwa nguvu. Angalia hii kwa maelezo zaidi.
Ruhusa ya Kuondoa Ulinzi wa Kumbukumbu ya Kutekeleza ni ruhusa kali ambayo inafuta ulinzi wa msingi wa usalama kutoka kwa programu yako, ikifanya iwezekane kwa mshambuliaji kuandika upya msimbo wa kutekeleza wa programu yako bila kugundulika. Prefer ruhusa nyembamba ikiwa inawezekana.
com.apple.security.cs.allow-relative-library-loads
TODO
com.apple.private.nullfs_allow
Ruhusa hii inaruhusu kuunganisha mfumo wa faili wa nullfs (uliopigwa marufuku kwa default). Chombo: mount_nullfs.
kTCCServiceAll
Kulingana na chapisho hili la blog, ruhusa hii ya TCC kwa kawaida hupatikana katika mfumo:
Ruhusu mchakato kuomba ruhusa zote za TCC.
kTCCServicePostEvent
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)