macOS Authorizations DB & Authd
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die š¬ Discord groep of die telegram groep of volg ons op Twitter š¦ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Autoriserings DB
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 gebruik deur XPC-dienste 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 autoriseringsstelsel te identifiseer en te verwys.
- type: Spesifiseer die tipe van die reƫl, beperk tot waardes 1 of 2 om sy autoriseringslogika 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
mechanismsarray 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 autorisering.
- kofn: Verteenwoordig die āk-of-nā parameter, wat bepaal hoeveel subreĆ«ls bevredig moet word uit ān totale aantal.
- timeout: Definieer die duur in sekondes voordat die autorisering wat deur die reƫl toegestaan is, verval.
- flags: Bevat verskeie vlae wat die gedrag en eienskappe van die reƫl wysig.
- tries: Beperk die aantal toegelate autorisering pogings 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 vervalsing op te spoor.
- identifier: Verskaf ān unieke string identifiseerder, soos ān UUID, vir eksterne verwysings na die reĆ«l.
- requirement: Bevat geserialiseerde data wat die spesifieke autoriseringsvereistes en meganismes van die reƫl definieer.
- comment: Bied ān menslike leesbare beskrywing of opmerking oor die reĆ«l vir dokumentasie en duidelikheid.
Voorbeeld
# List by name and comments
sudo sqlite3 /var/db/auth.db "select name, comment from rules"
# Get rules for com.apple.tcc.util.admin
security authorizationdb read com.apple.tcc.util.admin
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>class</key>
<string>rule</string>
<key>comment</key>
<string>For modification of TCC settings.</string>
<key>created</key>
<real>701369782.01043606</real>
<key>modified</key>
<real>701369782.01043606</real>
<key>rule</key>
<array>
<string>authenticate-admin-nonshared</string>
</array>
<key>version</key>
<integer>0</integer>
</dict>
</plist>
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:
{
"allow-root": "false",
"authenticate-user": "true",
"class": "user",
"comment": "Authenticate as an administrator.",
"group": "admin",
"session-owner": "false",
"shared": "false",
"timeout": "30",
"tries": "10000",
"version": "1"
}
Authd
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:
.png)
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die š¬ Discord groep of die telegram groep of volg ons op Twitter š¦ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

