macOS Authorizations DB & Authd
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)
Baza podataka smeštena u /var/db/auth.db
je baza podataka koja se koristi za čuvanje dozvola za obavljanje osetljivih operacija. Ove operacije se obavljaju potpuno u korisničkom prostoru i obično ih koriste XPC servisi koji treba da provere da li je pozivajući klijent ovlašćen da izvrši određenu radnju proverom ove baze podataka.
U početku, ova baza podataka se kreira iz sadržaja /System/Library/Security/authorization.plist
. Zatim, neki servisi mogu dodati ili izmeniti ovu bazu podataka kako bi dodali druge dozvole.
Pravila se čuvaju u rules
tabeli unutar baze podataka i sadrže sledeće kolone:
id: Jedinstveni identifikator za svako pravilo, automatski se povećava i služi kao primarni ključ.
name: Jedinstveno ime pravila koje se koristi za identifikaciju i referenciranje unutar sistema autorizacije.
type: Specifikuje tip pravila, ograničeno na vrednosti 1 ili 2 za definisanje njegove logike autorizacije.
class: Kategorizuje pravilo u određenu klasu, osiguravajući da je pozitivni ceo broj.
"allow" za dozvolu, "deny" za odbijanje, "user" ako grupna svojstva ukazuju na grupu članstvo koje omogućava pristup, "rule" ukazuje u nizu na pravilo koje treba ispuniti, "evaluate-mechanisms" praćeno nizom mechanisms
koji su ili ugrađeni ili naziv paketa unutar /System/Library/CoreServices/SecurityAgentPlugins/
ili /Library/Security//SecurityAgentPlugins
group: Ukazuje na korisničku grupu povezanu sa pravilom za autorizaciju zasnovanu na grupi.
kofn: Predstavlja "k-of-n" parametar, određujući koliko podpravila mora biti ispunjeno od ukupnog broja.
timeout: Definiše trajanje u sekundama pre nego što autorizacija koju dodeljuje pravilo istekne.
flags: Sadrži razne oznake koje modifikuju ponašanje i karakteristike pravila.
tries: Ograničava broj dozvoljenih pokušaja autorizacije radi poboljšanja bezbednosti.
version: Prati verziju pravila za kontrolu verzija i ažuriranja.
created: Beleži vremensku oznaku kada je pravilo kreirano u svrhe revizije.
modified: Čuva vremensku oznaku poslednje izmene izvršene na pravilu.
hash: Drži hash vrednost pravila kako bi se osigurala njegova celovitost i otkrila manipulacija.
identifier: Pruža jedinstveni string identifikator, kao što je UUID, za spoljne reference na pravilo.
requirement: Sadrži serijalizovane podatke koji definišu specifične zahteve i mehanizme autorizacije pravila.
comment: Nudi opis ili komentar o pravilu koji je razumljiv ljudima za dokumentaciju i jasnoću.
Osim toga, na https://www.dssw.co.uk/reference/authorization-rights/authenticate-admin-nonshared/ moguće je videti značenje authenticate-admin-nonshared
:
To je demon koji prima zahteve za autorizaciju klijenata da izvrše osetljive radnje. Radi kao XPC servis definisan unutar XPCServices/
foldera i koristi da piše svoje logove u /var/log/authd.log
.
Pored toga, korišćenjem bezbednosnog alata moguće je testirati mnoge Security.framework
API-je. Na primer, AuthorizationExecuteWithPrivileges
se pokreće: security execute-with-privileges /bin/ls
To će fork-ovati i izvršiti /usr/libexec/security_authtrampoline /bin/ls
kao root, što će tražiti dozvole u promptu da izvrši ls kao root:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)