macOS Security & Privilege Escalation
Reading time: 4 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.
Basic MacOS
Якщо ви не знайомі з macOS, вам слід почати вивчати основи macOS:
- Спеціальні macOS файли та дозволи:
macOS Files, Folders, Binaries & Memory
- Загальні macOS користувачі
macOS Users & External Accounts
- AppleFS
- архітектура ядра
macOS Kernel & System Extensions
- Загальні macOS nетеві сервіси та протоколи
macOS Network Services & Protocols
- Opensource macOS: https://opensource.apple.com/
- Щоб завантажити
tar.gz
, змініть URL, наприклад, https://opensource.apple.com/source/dyld/ на https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MacOS MDM
В компаніях macOS системи, ймовірно, будуть керуватися за допомогою MDM. Тому з точки зору атакуючого цікаво знати, як це працює:
MacOS - Інспекція, налагодження та фуззинг
macOS Apps - Inspecting, debugging and Fuzzing
MacOS Security Protections
Attack Surface
File Permissions
Якщо процес, що працює як root, записує файл, який може контролюватися користувачем, користувач може зловживати цим для ескалації привілеїв.
Це може статися в наступних ситуаціях:
- Файл, що використовується, вже створений користувачем (належить користувачу)
- Файл, що використовується, доступний для запису користувачем через групу
- Файл, що використовується, знаходиться в каталозі, що належить користувачу (користувач може створити файл)
- Файл, що використовується, знаходиться в каталозі, що належить root, але користувач має доступ на запис через групу (користувач може створити файл)
Можливість створити файл, який буде використовуватися root, дозволяє користувачу використовувати його вміст або навіть створювати символічні/жорсткі посилання на інше місце.
Для таких вразливостей не забудьте перевірити вразливі .pkg
інсталятори:
File Extension & URL scheme app handlers
Дивні програми, зареєстровані за розширеннями файлів, можуть бути зловживані, і різні програми можуть бути зареєстровані для відкриття конкретних протоколів
macOS File Extension & URL scheme app handlers
macOS TCC / SIP Privilege Escalation
У macOS додатки та бінарні файли можуть мати дозволи на доступ до папок або налаштувань, які роблять їх більш привілейованими, ніж інші.
Тому атакуючий, який хоче успішно скомпрометувати машину macOS, повинен ескалувати свої привілеї TCC (або навіть обійти SIP, залежно від його потреб).
Ці привілеї зазвичай надаються у формі прав з якими підписаний додаток, або додаток може запитати деякі доступи, і після схвалення їх користувачем вони можуть бути знайдені в базах даних TCC. Інший спосіб, яким процес може отримати ці привілеї, - це бути дитиною процесу з цими привілеями, оскільки вони зазвичай успадковуються.
Слідуйте цим посиланням, щоб знайти різні способи ескалації привілеїв у TCC, обійти TCC і як у минулому SIP було обійдено.
macOS Traditional Privilege Escalation
Звичайно, з точки зору червоних команд, вам також слід бути зацікавленим в ескалації до root. Перевірте наступний пост для деяких підказок:
macOS Compliance
References
- OS X Incident Response: Scripting and Analysis
- https://taomm.org/vol1/analysis.html
- https://github.com/NicolasGrimonpont/Cheatsheet
- https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ
- https://www.youtube.com/watch?v=vMGiplQtjTY
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.