Response playbooks, investigation guides, and Atomic Red Team tests are Pro-only. Upgrade to unlock the full detection package for T1548.006.

Upgrade to Pro
T1548.006 Google Chronicle · YARA-L

Detect TCC Manipulation in Google Chronicle

This detection identifies adversary attempts to manipulate macOS Transparency, Consent, and Control (TCC) protections — either by directly modifying the TCC SQLite database to grant unauthorized permissions, by injecting into TCC-privileged applications such as Finder to inherit Full Disk Access, by abusing environment variables to load a rogue TCC database, or by exploiting SIP-disabled systems where TCC protections are bypassed entirely. Successful TCC abuse grants attackers access to protected resources including the camera, microphone, screen recording, Full Disk Access, and sensitive user directories without user prompts.

MITRE ATT&CK

Tactic
Defense Evasion Privilege Escalation
Technique
T1548 Abuse Elevation Control Mechanism
Sub-technique
T1548.006 TCC Manipulation
Canonical reference
https://attack.mitre.org/techniques/T1548/006/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule tcc_manipulation_macos {
  meta:
    author = "argus-v1"
    description = "Detects macOS TCC database manipulation including direct DB writes, SQLite injection, environment variable abuse, and Finder TCC inheritance attacks"
    severity = "HIGH"
    tactic = "TA0005"
    technique = "T1548.006"
    platforms = "macOS"

  events:
    (
      // Direct TCC.db file modification by non-system process
      (
        $e.metadata.event_type = "FILE_MODIFICATION"
        and re.regex($e.target.file.full_path, `/com\.apple\.TCC/TCC\.db`)
        and not $e.principal.process.file.full_path in (
          "/usr/libexec/tccd",
          "/usr/libexec/syspolicyd",
          "/usr/libexec/mdmclient"
        )
      )
      or
      // SQLite TCC injection via command line
      (
        $e.metadata.event_type = "PROCESS_LAUNCH"
        and (
          re.regex($e.principal.process.command_line, `sqlite3.*TCC\.db`)
          or re.regex($e.principal.process.command_line, `INSERT INTO access`)
          or re.regex($e.principal.process.command_line, `UPDATE access.*TCC`)
          or re.regex($e.principal.process.command_line, `SQLITE_TMPDIR`)
          or re.regex($e.principal.process.command_line, `HOME_TCC_DB`)
        )
      )
      or
      // Finder spawning scripting interpreters (TCC inheritance)
      (
        $e.metadata.event_type = "PROCESS_LAUNCH"
        and re.regex($e.principal.process.file.full_path, `\.app/Contents/MacOS/Finder$`)
        and $e.target.process.file.full_path in (
          "/usr/bin/osascript",
          "/bin/bash",
          "/bin/sh",
          "/bin/zsh",
          "/usr/bin/python3",
          "/usr/bin/ruby",
          "/usr/bin/perl"
        )
      )
    )

  condition:
    $e
}
high severity high confidence

Chronicle YARA-L rule detecting TCC manipulation via direct TCC.db modification by unauthorized processes, SQLite command-line injection targeting the TCC database, environment variable abuse for rogue TCC database loading, and Finder spawning interpreter processes to inherit Full Disk Access.

Data Sources

Chronicle SIEMGoogle Chronicle macOS endpoint telemetry

Required Tables

udm.events

False Positives & Tuning

  • MDM enrollment workflows where mdmclient or a managed profile process modifies TCC.db for privacy policy deployment
  • macOS OS upgrade assistants that rebuild the TCC database as part of migration
  • Legitimate Finder-executed AppleScript workflows where users have explicitly built Automator or Shortcuts tasks

Other platforms for T1548.006


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Direct SQLite Injection into System TCC Database

    Expected signal: DeviceFileEvents with ActionType=FileModified on /Library/Application Support/com.apple.TCC/TCC.db, initiating process sqlite3. macOS Unified Log entries from com.apple.TCC subsystem recording database modification.

  2. Test 2Rogue TCC Database via Environment Variable

    Expected signal: Process launch event for osascript with SQLITE_TMPDIR environment variable set to non-standard path. File creation events in /tmp/tcc_test/com.apple.TCC/. sqlite3 process execution with TCC.db path argument.

  3. Test 3Finder TCC Inheritance via AppleScript

    Expected signal: Process launch event showing osascript spawned as child of Finder process. Subsequent shell command execution accessing ~/Library/Messages/ which is normally TCC-protected. File creation event at /tmp/tcc_finder_test.txt.

Unlock playbooks & atomic tests with Pro

Get the full detection package for T1548.006 — response playbook and atomic red team tests, plus investigation guidance and hunting queries.

df00tech Pro — £29/user/month

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections