macOS Dangerous Entitlements & TCC perms
Imajte na umu da ovlašćenja koja počinju sa com.apple
nisu dostupna trećim licima, samo ih Apple može odobriti.
Visok
com.apple.rootless.install.heritable
com.apple.rootless.install.heritable
Ovlašćenje com.apple.rootless.install.heritable
omogućava zaobilazak SIP-a. Proverite ovde za više informacija.
com.apple.rootless.install
com.apple.rootless.install
Ovlašćenje com.apple.rootless.install
omogućava zaobilazak SIP-a. Proverite ovde za više informacija.
com.apple.system-task-ports
(ranije nazvano task_for_pid-allow
)
com.apple.system-task-ports
(ranije nazvano task_for_pid-allow
)Ovo ovlašćenje omogućava dobijanje task porta za bilo koji proces, osim kernela. Proverite ovde za više informacija.
com.apple.security.get-task-allow
com.apple.security.get-task-allow
Ovo ovlašćenje omogućava drugim procesima sa ovlašćenjem com.apple.security.cs.debugger
da dobiju task port procesa pokrenutog binarnim fajlom sa ovim ovlašćenjem i ubace kod u njega. Proverite ovde za više informacija.
com.apple.security.cs.debugger
com.apple.security.cs.debugger
Aplikacije sa ovlašćenjem za Alat za Debugovanje mogu pozvati task_for_pid()
da dobiju validan task port za nepotpisane i treće strane aplikacije sa ovlašćenjem Get Task Allow
postavljenim na true
. Međutim, čak i sa ovlašćenjem za alat za debugovanje, debugger ne može dobiti task portove procesa koji nemaju ovlašćenje za Get Task Allow, i koji su stoga zaštićeni Sistemskom Integritetnom Zaštitom. Proverite ovde za više informacija.
com.apple.security.cs.disable-library-validation
com.apple.security.cs.disable-library-validation
Ovo ovlašćenje omogućava učitavanje okvira, dodataka ili biblioteka bez potpisa od strane Apple-a ili potpisanog istim Team ID-em kao glavni izvršni fajl, tako da napadač može zloupotrebiti neko proizvoljno učitavanje biblioteke da ubaci kod. Proverite ovde za više informacija.
com.apple.private.security.clear-library-validation
com.apple.private.security.clear-library-validation
Ovo ovlašćenje je vrlo slično com.apple.security.cs.disable-library-validation
ali umesto direktnog onemogućavanja validacije biblioteke, omogućava procesu da pozove csops
sistemski poziv da je onemogući.
Proverite ovde za više informacija.
com.apple.security.cs.allow-dyld-environment-variables
com.apple.security.cs.allow-dyld-environment-variables
Ovo ovlašćenje omogućava korišćenje DYLD okruženjskih promenljivih koje se mogu koristiti za ubacivanje biblioteka i koda. Proverite ovde za više informacija.
com.apple.private.tcc.manager
ili com.apple.rootless.storage
.TCC
com.apple.private.tcc.manager
ili com.apple.rootless.storage
.TCC
Prema ovom blogu i ovom blogu, ova ovlašćenja omogućavaju modifikaciju baze podataka TCC.
system.install.apple-software
i system.install.apple-software.standar-user
system.install.apple-software
i system.install.apple-software.standar-user
Ova ovlašćenja omogućavaju instaliranje softvera bez traženja dozvole korisnika, što može biti korisno za eskaciju privilegija.
com.apple.private.security.kext-management
com.apple.private.security.kext-management
Ovlašćenje potrebno za traženje od kernela da učita kernel ekstenziju.
com.apple.private.icloud-account-access
com.apple.private.icloud-account-access
Ovlašćenje com.apple.private.icloud-account-access
omogućava komunikaciju sa com.apple.iCloudHelper
XPC servisom koji će pružiti iCloud tokene.
iMovie i Garageband imali su ovo ovlašćenje.
Za više informacija o eksploataciji za dobijanje icloud tokena iz tog ovlašćenja pogledajte predavanje: #OBTS v5.0: "Šta se dešava na vašem Mac-u, ostaje na Apple-ovom iCloud-u?!" - Wojciech Regula
com.apple.private.tcc.manager.check-by-audit-token
com.apple.private.tcc.manager.check-by-audit-token
TODO: Ne znam šta ovo omogućava
com.apple.private.apfs.revert-to-snapshot
com.apple.private.apfs.revert-to-snapshot
TODO: U ovom izveštaju se pominje da bi ovo moglo biti korišćeno za ažuriranje SSV-zaštićenih sadržaja nakon ponovnog pokretanja. Ako znate kako, pošaljite PR molim vas!
com.apple.private.apfs.create-sealed-snapshot
com.apple.private.apfs.create-sealed-snapshot
TODO: U ovom izveštaju se pominje da bi ovo moglo biti korišćeno za ažuriranje SSV-zaštićenih sadržaja nakon ponovnog pokretanja. Ako znate kako, pošaljite PR molim vas!
keychain-access-groups
keychain-access-groups
Ovo ovlašćenje nabraja keychain grupe kojima aplikacija ima pristup:
kTCCServiceSystemPolicyAllFiles
kTCCServiceSystemPolicyAllFiles
Daje dozvole za Pristup celom disku, jednu od najviših dozvola koje možete imati u TCC-u.
kTCCServiceAppleEvents
kTCCServiceAppleEvents
Omogućava aplikaciji slanje događaja drugim aplikacijama koje se često koriste za automatizaciju zadataka. Kontrolišući druge aplikacije, može zloupotrebiti dozvole date tim drugim aplikacijama.
Na primer, može ih naterati da zatraže korisnikovu lozinku:
Ili ih naterati da izvrše proizvoljne radnje.
kTCCServiceEndpointSecurityClient
kTCCServiceEndpointSecurityClient
Dozvoljava, između ostalih dozvola, da piše u korisničku TCC bazu podataka.
kTCCServiceSystemPolicySysAdminFiles
kTCCServiceSystemPolicySysAdminFiles
Dozvoljava promenu atributa NFSHomeDirectory
korisnika koji menja putanju njegovog matičnog foldera i time omogućava zaobilazak TCC.
kTCCServiceSystemPolicyAppBundles
kTCCServiceSystemPolicyAppBundles
Dozvoljava modifikaciju fajlova unutar aplikacija (unutar app.app), što je podrazumevano zabranjeno.
Moguće je proveriti ko ima ovaj pristup u System Settings > Privacy & Security > App Management.
kTCCServiceAccessibility
kTCCServiceAccessibility
Proces će moći da zloupotrebi macOS funkcije pristupačnosti, što znači da na primer može da pritisne tasterske prečice. Tako bi mogao da zatraži pristup kontroli aplikacije poput Findera i odobri dijalog sa ovlašćenjem.
Srednje
com.apple.security.cs.allow-jit
com.apple.security.cs.allow-jit
Ovo ovlašćenje omogućava da se kreira memorija koja je upisiva i izvršna prosleđivanjem MAP_JIT
zastavice funkciji sistema mmap()
. Proverite ovde za više informacija.
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.allow-unsigned-executable-memory
Ovo ovlašćenje omogućava zamenu ili zakrpu C koda, korišćenje dugo zastarelog NSCreateObjectFileImageFromMemory
(što je suštinski nesigurno), ili korišćenje DVDPlayback okvira. Proverite ovde za više informacija.
Uključivanje ovog ovlašćenja izlaže vašu aplikaciju uobičajenim ranjivostima u jezicima sa kodom koji nije siguran za memoriju. Pažljivo razmislite da li vaša aplikacija zahteva ovaj izuzetak.
com.apple.security.cs.disable-executable-page-protection
com.apple.security.cs.disable-executable-page-protection
Ovo ovlašćenje omogućava da se modifikuju sekcije sopstvenih izvršnih fajlova na disku kako bi se prinudno izašlo. Proverite ovde za više informacija.
Ovlašćenje za Onemogućavanje Zaštite Izvršne Memorije je ekstremno ovlašćenje koje uklanja osnovnu sigurnosnu zaštitu iz vaše aplikacije, čime se omogućava napadaču da prepiše izvršni kod vaše aplikacije bez otkrivanja. Preferirajte uža ovlašćenja ako je moguće.
com.apple.security.cs.allow-relative-library-loads
com.apple.security.cs.allow-relative-library-loads
TODO
com.apple.private.nullfs_allow
com.apple.private.nullfs_allow
Ovo ovlašćenje omogućava montiranje nullfs fajl sistema (podrazumevano zabranjeno). Alat: mount_nullfs.
kTCCServiceAll
kTCCServiceAll
Prema ovom blog postu, ovo TCC ovlašćenje obično se nalazi u obliku:
Dozvoli procesu da zatraži sve TCC dozvole.
kTCCServicePostEvent
kTCCServicePostEvent
Last updated