Manipolazione TCC: TCC Manipulation (T1548.006)

La tecnica T1548.006 - TCC Manipulation descrive l'abuso del servizio Transparency, Consent & Control di macOS, il meccanismo che governa l'accesso di applicazioni e processi a risorse sensibili come webcam, microfono, condivisione schermo e soprattutto Full Disk Access (FDA). Il demone tccd consulta il database SQLite in /Library/Application Support/com.apple.TCC/TCC.db (più l'equivalente utente in ~/Library/) per decidere se concedere o negare l'accesso, memorizzando le autorizzazioni approvate dall'utente in modo che non vengano più richieste.

Sotto il profilo MITRE ATT&CK, la tecnica ricade in TA0004 (Privilege Escalation) e TA0005 (Defense Evasion): l'attaccante non sfrutta una CVE tradizionale, bensì il modello di fiducia stesso del sistema operativo. Le due vie principali sono l'iniezione in processi già autorizzati (Finder, Terminal, iTerm2 con FDA) per ereditarne i privilegi, e — quando System Integrity Protection (SIP) è disabilitata — la sostituzione del database TCC con uno controllato dall'attaccante caricato via variabili d'ambiente e launchctl.

L'impatto è significativo: un singolo bypass TCC consente accesso silenzioso a tutti i file utente, cattura schermo continua o abilitazione del microfono senza prompt. Il malware XCSSET documenta questa capacità operativa, resettando ripetutamente il database TCC per ritentare l'accesso a Desktop, Downloads e Documents quando incontra un diniego iniziale.

Un red teamer che simula T1548.006 in laboratorio parte dal presupposto che l'endpoint macOS sia già compromesso a livello utente e cerchi di ottenere accesso silenzioso alle risorse protette. Il primo passo è enumerare lo stato TCC corrente con sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "SELECT client,service,auth_value FROM access;" — comando che restituisce le triple applicazione/servizio/autorizzazione presenti nel database utente. Il database di sistema richiede invece FDA per essere letto, creando un problema di uovo-e-gallina utile all'operatore per capire cosa è già autorizzato.

La via più pulita in un assessment è l'abuso di applicazioni fidate. Finder, se dotato di FDA (comune su workstation di sviluppatori e amministratori), può eseguire AppleScript che ereditano i suoi privilegi. Un payload tipico si costruisce con osascript -e 'tell application "Finder" to ...' per leggere directory altrimenti bloccate. Analogamente, iTerm2 e Terminal spesso hanno FDA concesso: iniettare codice nel loro contesto (via DYLD_INSERT_LIBRARIES se le protezioni library validation lo consentono, tipicamente su binari non hardened) è una catena documentata.

Se SIP è disabilitato — condizione rara ma presente su macchine di ricerca o sviluppo — la manipolazione diretta del DB diventa possibile. La sequenza è: copia del TCC.db legittimo, iniezione di una riga con INSERT INTO access VALUES(...) che autorizza il binario dell'attaccante al servizio desiderato (es. kTCCServiceSystemPolicyAllFiles), poi rilancio del processo target con launchctl setenv per puntare al database modificato. Verificare lo stato SIP è banale con csrutil status.

Per il tooling, SwiftBelt (open source) automatizza la ricognizione TCC insieme ad altri controlli macOS, mentre mythic-c2 con l'agent Poseidon (open source) include moduli per l'enumerazione delle autorizzazioni. objection (open source) è utile per il dynamic instrumentation di app userland, e Objective-See BlockBlock (freemium) serve come controparte difensiva da testare. Lo strumento nativo tccutil reset All consente di ripristinare lo stato del database tra un test e l'altro, fondamentale per non contaminare l'ambiente di laboratorio. Ogni catena va documentata con timestamp precisi per correlarla poi con la telemetria lato SOC.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.