Sicurezza macOS e Escalation dei Privilegi
Reading time: 5 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
MacOS di Base
Se non sei familiare con macOS, dovresti iniziare a imparare le basi di macOS:
- File e permessi speciali di macOS:
macOS Files, Folders, Binaries & Memory
- Utenti comuni di macOS
macOS Users & External Accounts
- AppleFS
- L'architettura del kernel
macOS Kernel & System Extensions
- Servizi e protocolli di rete comuni di macOS
macOS Network Services & Protocols
- Opensource macOS: https://opensource.apple.com/
- Per scaricare un
tar.gz
, cambia un URL come https://opensource.apple.com/source/dyld/ in https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MDM di MacOS
Nelle aziende, i sistemi macOS saranno molto probabilmente gestiti con un MDM. Pertanto, dal punto di vista di un attaccante, è interessante sapere come funziona:
MacOS - Ispezione, Debugging e Fuzzing
macOS Apps - Inspecting, debugging and Fuzzing
Protezioni di Sicurezza di MacOS
Superficie di Attacco
Permessi dei File
Se un processo in esecuzione come root scrive un file che può essere controllato da un utente, l'utente potrebbe abusarne per escalare i privilegi.
Questo potrebbe verificarsi nelle seguenti situazioni:
- Il file utilizzato era già stato creato da un utente (di proprietà dell'utente)
- Il file utilizzato è scrivibile dall'utente a causa di un gruppo
- Il file utilizzato si trova all'interno di una directory di proprietà dell'utente (l'utente potrebbe creare il file)
- Il file utilizzato si trova all'interno di una directory di proprietà di root ma l'utente ha accesso in scrittura su di essa a causa di un gruppo (l'utente potrebbe creare il file)
Essere in grado di creare un file che sarà utilizzato da root, consente a un utente di sfruttare il suo contenuto o persino creare symlink/hardlink per puntarlo in un'altra posizione.
Per questo tipo di vulnerabilità non dimenticare di controllare gli installer .pkg
vulnerabili:
Gestori di App per Estensioni di File e Schemi URL
App strane registrate da estensioni di file potrebbero essere abusate e diverse applicazioni possono essere registrate per aprire protocolli specifici
macOS File Extension & URL scheme app handlers
Escalation dei Privilegi TCC / SIP di macOS
In macOS le applicazioni e i binari possono avere permessi per accedere a cartelle o impostazioni che li rendono più privilegiati di altri.
Pertanto, un attaccante che desidera compromettere con successo una macchina macOS dovrà escalare i suoi privilegi TCC (o persino bypassare SIP, a seconda delle sue necessità).
Questi privilegi sono solitamente concessi sotto forma di diritti con cui l'applicazione è firmata, oppure l'applicazione potrebbe aver richiesto alcuni accessi e dopo che il utente li approva possono essere trovati nei database TCC. Un altro modo in cui un processo può ottenere questi privilegi è essendo un figlio di un processo con quei privilegi, poiché di solito sono ereditati.
Segui questi link per trovare diversi modi per escalare i privilegi in TCC, per bypassare TCC e come in passato SIP è stato bypassato.
Escalation Tradizionale dei Privilegi di macOS
Certo, dal punto di vista di un red team, dovresti essere anche interessato a escalare a root. Controlla il seguente post per alcuni suggerimenti:
Conformità di macOS
Riferimenti
- 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
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.