Cross-source coverage

T1548.006 / ATT&CK

Abuse Elevation Control Mechanism: TCC Manipulation

7 rules across 2 sources.

From MITRE ATT&CK 19.2

Adversaries can manipulate or abuse the Transparency, Consent, & Control (TCC) service or database to grant malicious executables elevated permissions. TCC is a Privacy & Security macOS control mechanism used to determine if the running process has permission to access the data or services protected by TCC, such as screen sharing, camera, microphone, or Full Disk Access (FDA).

When an application requests to access data or a service protected by TCC, the TCC daemon (tccd) checks the TCC database, located at /Library/Application Support/com.apple.TCC/TCC.db (and ~/ equivalent), and an overwrites file (if connected to an MDM) for existing permissions. If permissions do not exist, then the user is prompted to grant permission. Once permissions are granted, the database stores the application's permissions and will not prompt the user again unless reset. For example, when a web browser requests permissions to the user's webcam, once granted the web browser may not explicitly prompt the user again.

Adversaries may access restricted data or services protected by TCC through abusing applications previously granted permissions through Process Injection or executing a malicious binary using another application. For example, adversaries can use Finder, a macOS native app with FDA permissions, to execute a malicious AppleScript. When executing under the Finder App, the malicious AppleScript inherits access to all files on the system without requiring a user prompt. When System Integrity Protection (SIP) is disabled, TCC protections are also disabled. For a system without SIP enabled, adversaries can manipulate the TCC database to add permissions to their malicious executable through loading an adversary controlled TCC database using environment variables and Launchctl.

Platforms
macOS
Telemetry
macos:unifiedlog

How MITRE says to detect it DET0534

TCC Database Manipulation via Launchctl and Unprotected SIP

macOS Analytic 1474

Unauthorized modification of TCC.db followed by elevated process execution under a trusted parent (e.g., Finder, SystemUIServer) or via launchctl environment override. Also includes identification of SIP being disabled, which is highly uncommon and a prerequisite for this abuse path.

  • macos:unifiedlog Execution of binaries with TCC protected access under unexpected parent processes such as Finder.app, SystemUIServer, or nsurlsessiond
  • macos:unifiedlog Modification or replacement of /Library/Application Support/com.apple.TCC/TCC.db or ~/Library/Application Support/com.apple.TCC/TCC.db
  • macos:unifiedlog Execution of launchctl with setenv or bootout targeting TCC.db or AppleScript under Finder context
  • macos:unifiedlog System Integrity Protection (SIP) state reported as disabled

elastic/protections-artifacts

4 rules
Detection Severity Format
Potential Privacy Control Bypass via Localhost Secure Copy Undefined Elastic TOML
Potential Privilege Escalation via TCC bypass with fake TCC.db Undefined Elastic TOML
Tccutil Reset via Suspicious Binary Undefined Elastic TOML
User TCC DB Access by Osascript Undefined Elastic TOML

elastic/detection-rules

3 rules
Detection Severity Format
Suspicious TCC Access Granted for User Folders High Elastic TOML
Full Disk Access Permission Check Medium Elastic TOML
Potential Privacy Control Bypass via TCCDB Modification Medium Elastic TOML

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.