mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
132 lines
5.1 KiB
Markdown
132 lines
5.1 KiB
Markdown
# Sécurité macOS & Escalade de Privilèges
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## MacOS de Base
|
|
|
|
Si vous n'êtes pas familier avec macOS, vous devriez commencer par apprendre les bases de macOS :
|
|
|
|
- Fichiers et **permissions** spéciales macOS :
|
|
|
|
|
|
{{#ref}}
|
|
macos-files-folders-and-binaries/
|
|
{{#endref}}
|
|
|
|
- Utilisateurs **communs** de macOS
|
|
|
|
|
|
{{#ref}}
|
|
macos-users.md
|
|
{{#endref}}
|
|
|
|
- **AppleFS**
|
|
|
|
|
|
{{#ref}}
|
|
macos-applefs.md
|
|
{{#endref}}
|
|
|
|
- L'**architecture** du k**ernel**
|
|
|
|
|
|
{{#ref}}
|
|
mac-os-architecture/
|
|
{{#endref}}
|
|
|
|
- Services et **protocoles** réseau macOS communs
|
|
|
|
|
|
{{#ref}}
|
|
macos-protocols.md
|
|
{{#endref}}
|
|
|
|
- macOS **Open Source** : [https://opensource.apple.com/](https://opensource.apple.com/)
|
|
- Pour télécharger un `tar.gz`, changez une URL comme [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) en [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz)
|
|
|
|
### MDM MacOS
|
|
|
|
Dans les entreprises, les systèmes **macOS** seront très probablement **gérés avec un MDM**. Par conséquent, du point de vue d'un attaquant, il est intéressant de savoir **comment cela fonctionne** :
|
|
|
|
|
|
{{#ref}}
|
|
../macos-red-teaming/macos-mdm/
|
|
{{#endref}}
|
|
|
|
### MacOS - Inspection, Débogage et Fuzzing
|
|
|
|
|
|
{{#ref}}
|
|
macos-apps-inspecting-debugging-and-fuzzing/
|
|
{{#endref}}
|
|
|
|
## Protections de Sécurité MacOS
|
|
|
|
|
|
{{#ref}}
|
|
macos-security-protections/
|
|
{{#endref}}
|
|
|
|
## Surface d'Attaque
|
|
|
|
### Permissions de Fichier
|
|
|
|
Si un **processus s'exécutant en tant que root écrit** un fichier qui peut être contrôlé par un utilisateur, l'utilisateur pourrait en abuser pour **escalader les privilèges**.\
|
|
Cela pourrait se produire dans les situations suivantes :
|
|
|
|
- Le fichier utilisé a déjà été créé par un utilisateur (appartenant à l'utilisateur)
|
|
- Le fichier utilisé est modifiable par l'utilisateur en raison d'un groupe
|
|
- Le fichier utilisé se trouve dans un répertoire appartenant à l'utilisateur (l'utilisateur pourrait créer le fichier)
|
|
- Le fichier utilisé se trouve dans un répertoire appartenant à root mais l'utilisateur a un accès en écriture grâce à un groupe (l'utilisateur pourrait créer le fichier)
|
|
|
|
Être capable de **créer un fichier** qui va être **utilisé par root**, permet à un utilisateur de **profiter de son contenu** ou même de créer des **symlinks/hardlinks** pour le pointer vers un autre endroit.
|
|
|
|
Pour ce type de vulnérabilités, n'oubliez pas de **vérifier les installateurs `.pkg` vulnérables** :
|
|
|
|
|
|
{{#ref}}
|
|
macos-files-folders-and-binaries/macos-installers-abuse.md
|
|
{{#endref}}
|
|
|
|
### Gestion des Extensions de Fichier & des Handlers d'URL
|
|
|
|
Des applications étranges enregistrées par des extensions de fichier pourraient être abusées et différentes applications peuvent être enregistrées pour ouvrir des protocoles spécifiques
|
|
|
|
|
|
{{#ref}}
|
|
macos-file-extension-apps.md
|
|
{{#endref}}
|
|
|
|
## Escalade de Privilèges TCC / SIP macOS
|
|
|
|
Dans macOS, les **applications et binaires peuvent avoir des permissions** pour accéder à des dossiers ou des paramètres qui les rendent plus privilégiés que d'autres.
|
|
|
|
Par conséquent, un attaquant qui souhaite compromettre avec succès une machine macOS devra **escalader ses privilèges TCC** (ou même **contourner SIP**, selon ses besoins).
|
|
|
|
Ces privilèges sont généralement accordés sous forme de **droits** avec lesquels l'application est signée, ou l'application peut avoir demandé certains accès et après que **l'utilisateur les ait approuvés**, ils peuvent être trouvés dans les **bases de données TCC**. Une autre façon pour un processus d'obtenir ces privilèges est d'être un **enfant d'un processus** ayant ces **privilèges**, car ils sont généralement **hérités**.
|
|
|
|
Suivez ces liens pour trouver différentes façons de [**escalader les privilèges dans TCC**](macos-security-protections/macos-tcc/index.html#tcc-privesc-and-bypasses), pour [**contourner TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/index.html) et comment dans le passé [**SIP a été contourné**](macos-security-protections/macos-sip.md#sip-bypasses).
|
|
|
|
## Escalade de Privilèges Traditionnelle macOS
|
|
|
|
Bien sûr, du point de vue des équipes rouges, vous devriez également être intéressé par l'escalade vers root. Consultez le post suivant pour quelques indices :
|
|
|
|
|
|
{{#ref}}
|
|
macos-privilege-escalation.md
|
|
{{#endref}}
|
|
|
|
## Conformité macOS
|
|
|
|
- [https://github.com/usnistgov/macos_security](https://github.com/usnistgov/macos_security)
|
|
|
|
## Références
|
|
|
|
- [**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}}
|