macOS Security & Privilege Escalation
{{#include ../../banners/hacktricks-training.md}}
Basic MacOS
Jeśli nie znasz macOS, powinieneś zacząć od nauki podstaw macOS:
- Specjalne pliki i uprawnienia macOS:
{{#ref}} macos-files-folders-and-binaries/ {{#endref}}
- Powszechni użytkownicy macOS
{{#ref}} macos-users.md {{#endref}}
- AppleFS
{{#ref}} macos-applefs.md {{#endref}}
- architektura jądra
{{#ref}} mac-os-architecture/ {{#endref}}
- Powszechne usługi i protokoły sieciowe macOS
{{#ref}} macos-protocols.md {{#endref}}
- Oprogramowanie open source macOS: https://opensource.apple.com/
- Aby pobrać
tar.gz
, zmień adres URL, na przykład https://opensource.apple.com/source/dyld/ na https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MacOS MDM
W firmach systemy macOS będą prawdopodobnie zarządzane przez MDM. Dlatego z perspektywy atakującego interesujące jest, jak to działa:
{{#ref}} ../macos-red-teaming/macos-mdm/ {{#endref}}
MacOS - Inspekcja, Debugowanie i Fuzzing
{{#ref}} macos-apps-inspecting-debugging-and-fuzzing/ {{#endref}}
Ochrony bezpieczeństwa MacOS
{{#ref}} macos-security-protections/ {{#endref}}
Powierzchnia ataku
Uprawnienia plików
Jeśli proces działający jako root zapisuje plik, który może być kontrolowany przez użytkownika, użytkownik może to wykorzystać do eskalacji uprawnień.
Może to wystąpić w następujących sytuacjach:
- Użyty plik został już utworzony przez użytkownika (należy do użytkownika)
- Użyty plik jest zapisywalny przez użytkownika z powodu grupy
- Użyty plik znajduje się w katalogu należącym do użytkownika (użytkownik mógłby utworzyć plik)
- Użyty plik znajduje się w katalogu należącym do roota, ale użytkownik ma do niego dostęp do zapisu z powodu grupy (użytkownik mógłby utworzyć plik)
Możliwość utworzenia pliku, który będzie używany przez roota, pozwala użytkownikowi wykorzystać jego zawartość lub nawet utworzyć symlinki/twarde linki, aby wskazać go w inne miejsce.
W przypadku tego rodzaju luk nie zapomnij sprawdzić podatnych instalatorów .pkg
:
{{#ref}} macos-files-folders-and-binaries/macos-installers-abuse.md {{#endref}}
Obsługa aplikacji według rozszerzenia pliku i schematu URL
Dziwne aplikacje zarejestrowane przez rozszerzenia plików mogą być nadużywane, a różne aplikacje mogą być zarejestrowane do otwierania określonych protokołów
{{#ref}} macos-file-extension-apps.md {{#endref}}
macOS TCC / SIP Eskalacja Uprawnień
W macOS aplikacje i pliki binarne mogą mieć uprawnienia do dostępu do folderów lub ustawień, które czynią je bardziej uprzywilejowanymi niż inne.
Dlatego atakujący, który chce skutecznie skompromitować maszynę macOS, będzie musiał eskalować swoje uprawnienia TCC (lub nawet obejść SIP, w zależności od jego potrzeb).
Te uprawnienia są zazwyczaj przyznawane w formie uprawnień, z którymi aplikacja jest podpisana, lub aplikacja może poprosić o dostęp, a po zatwierdzeniu ich przez użytkownika mogą być znalezione w bazach danych TCC. Innym sposobem, w jaki proces może uzyskać te uprawnienia, jest bycie dzieckiem procesu z tymi uprawnieniami, ponieważ są one zazwyczaj dziedziczone.
Śledź te linki, aby znaleźć różne sposoby eskalacji uprawnień w TCC, aby obejść TCC i jak w przeszłości SIP został obejrzany.
macOS Tradycyjna Eskalacja Uprawnień
Oczywiście z perspektywy zespołu red, powinieneś być również zainteresowany eskalacją do roota. Sprawdź następujący post w poszukiwaniu wskazówek:
{{#ref}} macos-privilege-escalation.md {{#endref}}
Zgodność macOS
Odnośniki
- 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
{{#include ../../banners/hacktricks-training.md}}