Sécurité macOS & Escalade de Privilèges
Reading time: 5 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.
MacOS de Base
Si vous n'êtes pas familier avec macOS, vous devriez commencer par apprendre les bases de macOS :
- Fichiers et permissions macOS spéciaux :
macOS Files, Folders, Binaries & Memory
- Utilisateurs communs de macOS
macOS Users & External Accounts
- AppleFS
- L'architecture du kernel
macOS Kernel & System Extensions
- Services & protocoles réseau macOS communs
macOS Network Services & Protocols
- macOS Open Source : https://opensource.apple.com/
- Pour télécharger un
tar.gz
, changez une URL comme https://opensource.apple.com/source/dyld/ en 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 :
MacOS - Inspection, Débogage et Fuzzing
macOS Apps - Inspecting, debugging and Fuzzing
Protections de Sécurité MacOS
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 :
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
macOS File Extension & URL scheme app handlers
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, pour contourner TCC et comment dans le passé SIP a été contourné.
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 :
Conformité macOS
Références
- 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
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PRs au HackTricks et HackTricks Cloud dépôts github.