9.0 KiB
macOS Opasne Dozvole & TCC dozvole
{{#include ../../../banners/hacktricks-training.md}}
Warning
Imajte na umu da dozvole koje počinju sa
com.apple
nisu dostupne trećim stranama, samo Apple ih može dodeliti.
Visoko
com.apple.rootless.install.heritable
Dozvola com.apple.rootless.install.heritable
omogućava obići SIP. Proverite ovo za više informacija.
com.apple.rootless.install
Dozvola com.apple.rootless.install
omogućava obići SIP. Proverite ovo za više informacija.
com.apple.system-task-ports
(ranije nazvana task_for_pid-allow
)
Ova dozvola omogućava dobijanje task porta za bilo koji proces, osim jezgra. Proverite ovo za više informacija.
com.apple.security.get-task-allow
Ova dozvola omogućava drugim procesima sa dozvolom com.apple.security.cs.debugger
da dobiju task port procesa koji pokreće binarni fajl sa ovom dozvolom i ubace kod u njega. Proverite ovo za više informacija.
com.apple.security.cs.debugger
Aplikacije sa dozvolom za alat za debagovanje mogu pozvati task_for_pid()
da dobiju važeći task port za nesignirane i treće strane aplikacije sa dozvolom Get Task Allow
postavljenom na true
. Međutim, čak i sa dozvolom za alat za debagovanje, debager ne može dobiti task portove procesa koji nemaju dozvolu Get Task Allow
, i koji su stoga zaštićeni Sistemskom Integritetom. Proverite ovo za više informacija.
com.apple.security.cs.disable-library-validation
Ova dozvola omogućava učitavanje okvira, dodataka ili biblioteka bez da budu potpisani od strane Apple-a ili potpisani sa istim Team ID kao glavni izvršni fajl, tako da bi napadač mogao zloupotrebiti učitavanje neke proizvoljne biblioteke da ubaci kod. Proverite ovo za više informacija.
com.apple.private.security.clear-library-validation
Ova dozvola je vrlo slična com.apple.security.cs.disable-library-validation
ali umesto da direktno onemogući validaciju biblioteka, omogućava procesu da pozove csops
sistemski poziv da je onemogući.
Proverite ovo za više informacija.
com.apple.security.cs.allow-dyld-environment-variables
Ova dozvola omogućava korišćenje DYLD promenljivih okruženja koje bi mogle biti korišćene za ubacivanje biblioteka i koda. Proverite ovo za više informacija.
com.apple.private.tcc.manager
ili com.apple.rootless.storage
.TCC
Prema ovom blogu i ovom blogu, ove dozvole omogućavaju modifikaciju TCC baze podataka.
system.install.apple-software
i system.install.apple-software.standar-user
Ove dozvole omogućavaju instalaciju softvera bez traženja dozvola od korisnika, što može biti korisno za povećanje privilegija.
com.apple.private.security.kext-management
Dozvola potrebna za traženje od jezgra da učita kernel ekstenziju.
com.apple.private.icloud-account-access
Dozvola com.apple.private.icloud-account-access
omogućava komunikaciju sa com.apple.iCloudHelper
XPC servisom koji će obezbediti iCloud tokene.
iMovie i Garageband su imale ovu dozvolu.
Za više informacija o eksploatu za dobijanje iCloud tokena iz te dozvole proverite 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
TODO: Ne znam šta ovo omogućava
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ćenog sadržaja nakon ponovnog pokretanja. Ako znate kako, pošaljite PR, molim vas!
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ćenog sadržaja nakon ponovnog pokretanja. Ako znate kako, pošaljite PR, molim vas!
keychain-access-groups
Ova dozvola lista keychain grupe kojima aplikacija ima pristup:
<key>keychain-access-groups</key>
<array>
<string>ichat</string>
<string>apple</string>
<string>appleaccount</string>
<string>InternetAccounts</string>
<string>IMCore</string>
</array>
kTCCServiceSystemPolicyAllFiles
Daje Full Disk Access dozvole, jednu od najviših TCC dozvola koje možete imati.
kTCCServiceAppleEvents
Omogućava aplikaciji da šalje događaje drugim aplikacijama koje se obično koriste za automatsko izvršavanje zadataka. Kontrolisanjem drugih aplikacija, može zloupotrebiti dozvole koje su dodeljene tim drugim aplikacijama.
Kao što je navođenje korisnika da zatraži njegovu lozinku:
osascript -e 'tell app "App Store" to activate' -e 'tell app "App Store" to activate' -e 'tell app "App Store" to display dialog "App Store requires your password to continue." & return & return default answer "" with icon 1 with hidden answer with title "App Store Alert"'
Ili da ih naterate da izvrše arbitrarne radnje.
kTCCServiceEndpointSecurityClient
Omogućava, između ostalog, da piše u TCC bazu podataka korisnika.
kTCCServiceSystemPolicySysAdminFiles
Omogućava da promeni NFSHomeDirectory
atribut korisnika koji menja putanju svog domaćeg foldera i tako omogućava da se obiđe TCC.
kTCCServiceSystemPolicyAppBundles
Omogućava 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
Proces će moći da zloupotrebi macOS funkcije pristupa, što znači da će, na primer, moći da pritisne tastere. Tako bi mogao da zatraži pristup za kontrolu aplikacije kao što je Finder i odobri dijalog sa ovom dozvolom.
Medium
com.apple.security.cs.allow-jit
Ova dozvola omogućava da se kreira memorija koja je zapisiva i izvršna prosleđivanjem MAP_JIT
oznake mmap()
sistemskoj funkciji. Proverite ovo za više informacija.
com.apple.security.cs.allow-unsigned-executable-memory
Ova dozvola omogućava da se prepiše ili zakrpi C kod, koristi dugo zastareli NSCreateObjectFileImageFromMemory
(koji je fundamentalno nesiguran), ili koristi DVDPlayback okvir. Proverite ovo za više informacija.
Caution
Uključivanje ove dozvole izlaže vašu aplikaciju uobičajenim ranjivostima u jezicima koda koji nisu sigurni za memoriju. Pažljivo razmotrite da li vaša aplikacija treba ovu izuzetak.
com.apple.security.cs.disable-executable-page-protection
Ova dozvola omogućava da se modifikuju delovi vlastitih izvršnih fajlova na disku kako bi se prisilno izašlo. Proverite ovo za više informacija.
Caution
Dozvola za onemogućavanje zaštite izvršne memorije je ekstremna dozvola koja uklanja fundamentalnu sigurnosnu zaštitu iz vaše aplikacije, čineći moguće da napadač prepisuje izvršni kod vaše aplikacije bez otkrivanja. Preferirajte uže dozvole ako je moguće.
com.apple.security.cs.allow-relative-library-loads
TODO
com.apple.private.nullfs_allow
Ova dozvola omogućava montiranje nullfs fajl sistema (zabranjeno podrazumevano). Alat: mount_nullfs.
kTCCServiceAll
Prema ovom blog postu, ova TCC dozvola obično se nalazi u formi:
[Key] com.apple.private.tcc.allow-prompting
[Value]
[Array]
[String] kTCCServiceAll
Dozvolite procesu da zatraži sve TCC dozvole.
kTCCServicePostEvent
{{#include ../../../banners/hacktricks-training.md}}