yaklang/hack-skills2 files

macOS Security Bypass

>-

Specification
Skill ID
yaklang/hack-skills/macos-security-bypass
Publisher
yaklang
Repository
hack-skills
Installs
0
Files
2
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

yaklang/hack-skills/macos-security-bypassInstalls these files
  • SKILL.md
  • TCC_BYPASS_MATRIX.md

What this skill tells the agent

SKILL: macOS Security Bypass — Expert Attack Playbook

AI LOAD INSTRUCTION: Expert macOS security bypass techniques. Covers TCC bypass, Gatekeeper evasion, SIP restrictions, sandbox escape, and entitlement abuse. Base models miss version-specific bypass nuances and protection interaction effects.

0. RELATED ROUTING

Before going deep, consider loading:

  • macos-process-injection when you need dylib injection, XPC exploitation, or Electron abuse after achieving initial access
  • linux-privilege-escalation for Unix-layer privesc techniques that also apply to macOS (SUID, cron, writable paths)
  • linux-security-bypass for shared Unix security bypass concepts

Advanced Reference

Also load TCC_BYPASS_MATRIX.md when you need:

  • Per-macOS-version TCC bypass mapping
  • Protection-type-specific techniques (Camera, Microphone, FDA, Automation)
  • MDM/configuration profile abuse patterns

1. TCC (TRANSPARENCY, CONSENT, CONTROL) OVERVIEW

TCC is macOS's permission framework controlling access to sensitive resources (camera, microphone, contacts, full disk access, etc.).

1.1 TCC Database Locations

DatabasePathControlsProtection
User-level~/Library/Application Support/com.apple.TCC/TCC.dbPer-user consent decisionsSIP-protected since Catalina
System-level/Library/Application Support/com.apple.TCC/TCC.dbSystem-wide consent decisionsSIP-protected
MDM-managedVia configuration profilesPush PPPC (Privacy Preferences Policy Control)Device management
-- Query TCC database (requires FDA or SIP off)
sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
  "SELECT service, client, allowed FROM access;"

1.2 TCC Bypass Categories

CategoryMechanismTypical Prerequisite
FDA app exploitationPiggyback on apps already granted Full Disk AccessWrite access to FDA app's bundle or plugin dir
Direct DB modificationEdit TCC.db to grant consentSIP disabled or FDA
Inherited permissionsChild process inherits parent's TCC grantsCode execution in context of FDA-granted app
Automation abuseApple Events / osascript to control TCC-granted appAutomation permission (lower bar than direct TCC)
Mounting tricksMount a crafted disk image containing modified TCC.dbLocal access, pre-Ventura
SQL injection in TCCMalformed bundle IDs triggering SQL injection in TCC subsystemCVE-2023-32364 and similar

1.3 Known TCC Bypass Patterns

Terminal / iTerm FDA inheritance: Terminal.app granted FDA → any command run inherits FDA → read any file.

# If Terminal has FDA, this reads protected files directly
cat ~/Library/Mail/V*/MailData/Envelope\ Index
cat ~/Library/Messages/chat.db

Finder automation: Automate Finder (lower permission bar) to access files in protected locations.

tell application "Finder"
  set f to POSIX file "/Users/target/Library/Mail/V9/MailData/Envelope Index"
  duplicate f to desktop
end tell

System Preferences / System Settings injection: Inject into a process that already has TCC permissions by writing to its Application Scripts folder.

MDM profile abuse: PPPC profiles can pre-approve TCC permissions. Rogue MDM enrollment or compromised MDM server → push PPPC payload.


2. GATEKEEPER BYPASS

Gatekeeper blocks unsigned or unnotarized apps from executing. Core enforcement depends on the com.apple.quarantine extended attribute.

2.1 Quarantine Attribute Removal

# Check quarantine attribute
xattr -l /path/to/app
# Output: com.apple.quarantine: 0083;...

# Remove quarantine (requires write access)
xattr -d com.apple.quarantine /path/to/app
# Recursive for app bundles
xattr -rd com.apple.quarantine /path/to/MyApp.app

2.2 Bypass Techniques

TechniqueHow It WorksmacOS Version
xattr -d removalRemove quarantine before executionAll (requires local access)
App translocation bypassApps in certain locations skip translocationPre-Catalina
Archive tools that strip quarantineSome unarchiver apps don't propagate quarantineVaries by tool
Unsigned code in signed bundleNotarized app bundles with unsigned nested helpersPre-Ventura (CVE-2022-42821)
Safari auto-extract + openDownloaded ZIP auto-extracted, app opened before quarantine fully appliedSafari-specific, patched
ACL abusecom.apple.quarantine can be blocked by ACLs set before downloadRequires pre-positioning
Disk image (DMG) tricksDMG mounted from network share may not carry quarantineNetwork share context
BOM (Bill of Materials) bypassCrafted BOM in pkg skips quarantine for extracted filesCVE-2022-22616

2.3 Gatekeeper Check Flow

App launched
│
├── com.apple.quarantine attribute present?
│   ├── No → execute (no Gatekeeper check)
│   └── Yes ↓
│
├── Code signature valid?
│   ├── No → block
│   └── Yes ↓
│
├── Notarized (stapled ticket or online check)?
│   ├── No → block (Catalina+)
│   └── Yes → execute
│
└── User override? (right-click → Open → confirm)
    └── Bypasses Gatekeeper once for this app

3. SIP (SYSTEM INTEGRITY PROTECTION)

SIP restricts root from modifying protected system locations, loading unsigned kernel extensions, and debugging system processes.

3.1 SIP-Protected Locations

/System/
/usr/ (except /usr/local/)
/bin/
/sbin/
/var/ (selected subdirs)
/Applications/ (pre-installed Apple apps)

3.2 SIP Status & Configuration

csrutil status              # Check SIP status
csrutil disable             # Recovery Mode only
csrutil enable --without fs # Partial disable (risky)

3.3 Entitlements That Bypass SIP

EntitlementEffect
com.apple.rootless.installWrite to SIP-protected paths
com.apple.rootless.install.heritableChild processes inherit SIP bypass
com.apple.security.cs.allow-unsigned-executable-memoryJIT/unsigned code in memory
com.apple.private.security.clear-library-validationLoad unsigned libraries

3.4 Historical SIP Bypasses

CVEmacOSTechnique
CVE-2021-30892 (Shrootless)Monterey pre-12.0.1system_installd + post-install script in signed pkg
CVE-2022-22583Monterey pre-12.2packagekit + mount point manipulation
CVE-2022-46689 (MacDirtyCow)Ventura pre-13.1Race condition on copy-on-write, overwrite SIP files
CVE-2023-32369 (Migraine)Ventura pre-13.4Migration Assistant TCC/SIP bypass via systemmigrationd
CVE-2024-44243Sequoia pre-15.2StorageKit daemon exploitation

4. SANDBOX ESCAPE

macOS sandboxing (App Sandbox, via sandbox-exec or entitlements) restricts app access to filesystem, network, and IPC.

4.1 Office Sandbox Escape Patterns

VectorDescription
Open/Save dialog abuseUser grants file access via dialog → macro reads/writes beyond sandbox
~/Library/LaunchAgents/ persistenceSome sandbox profiles allow writing LaunchAgent plists
Login Items manipulationAdd login item pointing to payload outside sandbox
Shared container exploitationMultiple apps sharing the same App Group container

4.2 IPC-Based Escape

IPC MechanismEscape Vector
XPC ServicesConnect to privileged XPC service with insufficient client validation
Mach PortsObtain send right to privileged task port
Apple EventsAutomate unsandboxed app to perform actions
Distributed NotificationsSignal unsandboxed helper to execute payload
PasteboardWrite payload to pasteboard, have unsandboxed app consume it

4.3 Browser Sandbox

  • Chromium: Multi-process model, renderer is sandboxed, browser process is not

Use this skill in a project

Open any RiverX project, search the Skills panel for yaklang/hack-skills/macos-security-bypass, and install it in one click.

Use this skill