mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
121 lines
6.2 KiB
Markdown
121 lines
6.2 KiB
Markdown
# macOS Security & Privilege Escalation
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
## Basic MacOS
|
||
|
||
Якщо ви не знайомі з macOS, вам слід почати вивчати основи macOS:
|
||
|
||
- Спеціальні macOS **файли та дозволи:**
|
||
|
||
{{#ref}}
|
||
macos-files-folders-and-binaries/
|
||
{{#endref}}
|
||
|
||
- Загальні macOS **користувачі**
|
||
|
||
{{#ref}}
|
||
macos-users.md
|
||
{{#endref}}
|
||
|
||
- **AppleFS**
|
||
|
||
{{#ref}}
|
||
macos-applefs.md
|
||
{{#endref}}
|
||
|
||
- **архітектура** ядра
|
||
|
||
{{#ref}}
|
||
mac-os-architecture/
|
||
{{#endref}}
|
||
|
||
- Загальні macOS n**етеві сервіси та протоколи**
|
||
|
||
{{#ref}}
|
||
macos-protocols.md
|
||
{{#endref}}
|
||
|
||
- **Opensource** macOS: [https://opensource.apple.com/](https://opensource.apple.com/)
|
||
- Щоб завантажити `tar.gz`, змініть URL, наприклад, [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) на [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz)
|
||
|
||
### MacOS MDM
|
||
|
||
В компаніях **macOS** системи, ймовірно, будуть **керуватися за допомогою MDM**. Тому з точки зору атакуючого цікаво знати, **як це працює**:
|
||
|
||
{{#ref}}
|
||
../macos-red-teaming/macos-mdm/
|
||
{{#endref}}
|
||
|
||
### MacOS - Інспекція, налагодження та фуззинг
|
||
|
||
{{#ref}}
|
||
macos-apps-inspecting-debugging-and-fuzzing/
|
||
{{#endref}}
|
||
|
||
## MacOS Security Protections
|
||
|
||
{{#ref}}
|
||
macos-security-protections/
|
||
{{#endref}}
|
||
|
||
## Attack Surface
|
||
|
||
### File Permissions
|
||
|
||
Якщо **процес, що працює як root, записує** файл, який може контролюватися користувачем, користувач може зловживати цим для **ескалації привілеїв**.\
|
||
Це може статися в наступних ситуаціях:
|
||
|
||
- Файл, що використовується, вже створений користувачем (належить користувачу)
|
||
- Файл, що використовується, доступний для запису користувачем через групу
|
||
- Файл, що використовується, знаходиться в каталозі, що належить користувачу (користувач може створити файл)
|
||
- Файл, що використовується, знаходиться в каталозі, що належить root, але користувач має доступ на запис через групу (користувач може створити файл)
|
||
|
||
Можливість **створити файл**, який буде **використовуватися root**, дозволяє користувачу **використовувати його вміст** або навіть створювати **символічні/жорсткі посилання** на інше місце.
|
||
|
||
Для таких вразливостей не забудьте **перевірити вразливі `.pkg` інсталятори**:
|
||
|
||
{{#ref}}
|
||
macos-files-folders-and-binaries/macos-installers-abuse.md
|
||
{{#endref}}
|
||
|
||
### File Extension & URL scheme app handlers
|
||
|
||
Дивні програми, зареєстровані за розширеннями файлів, можуть бути зловживані, і різні програми можуть бути зареєстровані для відкриття конкретних протоколів
|
||
|
||
{{#ref}}
|
||
macos-file-extension-apps.md
|
||
{{#endref}}
|
||
|
||
## macOS TCC / SIP Privilege Escalation
|
||
|
||
У macOS **додатки та бінарні файли можуть мати дозволи** на доступ до папок або налаштувань, які роблять їх більш привілейованими, ніж інші.
|
||
|
||
Тому атакуючий, який хоче успішно скомпрометувати машину macOS, повинен **ескалувати свої привілеї TCC** (або навіть **обійти SIP**, залежно від його потреб).
|
||
|
||
Ці привілеї зазвичай надаються у формі **прав** з якими підписаний додаток, або додаток може запитати деякі доступи, і після **схвалення їх користувачем** вони можуть бути знайдені в **базах даних TCC**. Інший спосіб, яким процес може отримати ці привілеї, - це бути **дитиною процесу** з цими **привілеями**, оскільки вони зазвичай **успадковуються**.
|
||
|
||
Слідуйте цим посиланням, щоб знайти різні способи [**ескалації привілеїв у TCC**](macos-security-protections/macos-tcc/index.html#tcc-privesc-and-bypasses), [**обійти TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/index.html) і як у минулому [**SIP було обійдено**](macos-security-protections/macos-sip.md#sip-bypasses).
|
||
|
||
## macOS Traditional Privilege Escalation
|
||
|
||
Звичайно, з точки зору червоних команд, вам також слід бути зацікавленим в ескалації до root. Перевірте наступний пост для деяких підказок:
|
||
|
||
{{#ref}}
|
||
macos-privilege-escalation.md
|
||
{{#endref}}
|
||
|
||
## macOS Compliance
|
||
|
||
- [https://github.com/usnistgov/macos_security](https://github.com/usnistgov/macos_security)
|
||
|
||
## References
|
||
|
||
- [**OS X Incident Response: Scripting and Analysis**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
|
||
- [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
|
||
- [**https://github.com/NicolasGrimonpont/Cheatsheet**](https://github.com/NicolasGrimonpont/Cheatsheet)
|
||
- [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
|
||
- [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|