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)
Die databasis geleë in /var/db/auth.db
is 'n databasis wat gebruik word om toestemmings te stoor om sensitiewe operasies uit te voer. Hierdie operasies word heeltemal in gebruikerspas uitgevoer en word gewoonlik deur XPC-dienste gebruik wat moet nagaan of die oproepende kliënt gemagtig is om sekere aksies uit te voer deur hierdie databasis te kontroleer.
Aanvanklik word hierdie databasis geskep uit die inhoud van /System/Library/Security/authorization.plist
. Dan kan sommige dienste hierdie databasis bywerk of wysig om ander toestemmings by te voeg.
Die reëls word in die rules
tabel binne die databasis gestoor en bevat die volgende kolomme:
id: 'n Unieke identifiseerder vir elke reël, outomaties verhoog en dien as die primêre sleutel.
name: Die unieke naam van die reël wat gebruik word om dit binne die autorisasiesisteem te identifiseer en te verwys.
type: Gee die tipe van die reël aan, beperk tot waardes 1 of 2 om sy autorisasielogika te definieer.
class: Kategoriseer die reël in 'n spesifieke klas, wat verseker dat dit 'n positiewe heelgetal is.
"allow" vir toelaat, "deny" vir weier, "user" as die groep eienskap 'n groep aandui waarvan lidmaatskap toegang toelaat, "rule" dui in 'n array 'n reël aan wat nagekom moet word, "evaluate-mechanisms" gevolg deur 'n mechanisms
array wat of ingeboude funksies of 'n naam van 'n bundel binne /System/Library/CoreServices/SecurityAgentPlugins/
of /Library/Security//SecurityAgentPlugins is.
group: Dui die gebruikersgroep aan wat met die reël geassosieer word vir groep-gebaseerde autorisasie.
kofn: Verteenwoordig die "k-of-n" parameter, wat bepaal hoeveel subreëls uit 'n totale aantal bevredig moet word.
timeout: Definieer die duur in sekondes voordat die autorisasie wat deur die reël toegestaan word, verval.
flags: Bevat verskeie vlae wat die gedrag en eienskappe van die reël wysig.
tries: Beperk die aantal toegelate autorisasiepogings om sekuriteit te verbeter.
version: Hou die weergawe van die reël dop vir weergawebeheer en opdaterings.
created: Registreer die tydstempel wanneer die reël geskep is vir ouditdoeleindes.
modified: Stoor die tydstempel van die laaste wysiging aan die reël.
hash: Hou 'n hash-waarde van die reël om sy integriteit te verseker en om te detecteer of daar gemanipuleer is.
identifier: Verskaf 'n unieke string identifiseerder, soos 'n UUID, vir eksterne verwysings na die reël.
requirement: Bevat geserialiseerde data wat die spesifieke autorisasievereistes en meganismes van die reël definieer.
comment: Bied 'n menslike leesbare beskrywing of opmerking oor die reël vir dokumentasie en duidelikheid.
Boonop in https://www.dssw.co.uk/reference/authorization-rights/authenticate-admin-nonshared/ is dit moontlik om die betekenis van authenticate-admin-nonshared
te sien:
Dit is 'n daemon wat versoeke sal ontvang om kliënte te autoriseer om sensitiewe aksies uit te voer. Dit werk as 'n XPC-diens wat binne die XPCServices/
-map gedefinieer is en gebruik om sy logs in /var/log/authd.log
te skryf.
Boonop is dit moontlik om baie Security.framework
API's te toets met die sekuriteitstoepassing. Byvoorbeeld, die AuthorizationExecuteWithPrivileges
wat loop: security execute-with-privileges /bin/ls
Dit sal /usr/libexec/security_authtrampoline /bin/ls
as root fork en exec, wat toestemming sal vra in 'n prompt om ls as root uit te voer:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)