Translated ['macos-hardening/macos-security-and-privilege-escalation/mac

This commit is contained in:
Translator 2023-10-17 00:42:52 +00:00
parent b5b1d462da
commit 7c2df9f3dd

View file

@ -20,11 +20,11 @@ Notez que les autorisations commençant par **`com.apple`** ne sont pas disponib
### com.apple.rootless.install.heritable
L'autorisation **`com.apple.rootless.install.heritable`** permet de **contourner SIP**. Consultez [ceci pour plus d'informations](macos-sip.md#com.apple.rootless.install.heritable).
L'autorisation **`com.apple.rootless.install.heritable`** permet de contourner SIP. Consultez [ceci pour plus d'informations](macos-sip.md#com.apple.rootless.install.heritable).
### **com.apple.rootless.install**
L'autorisation **`com.apple.rootless.install`** permet de **contourner SIP**. Consultez [ceci pour plus d'informations](macos-sip.md#com.apple.rootless.install).
L'autorisation **`com.apple.rootless.install`** permet de contourner SIP. Consultez [ceci pour plus d'informations](macos-sip.md#com.apple.rootless.install).
### `com.apple.security.get-task-allow`
@ -40,23 +40,31 @@ Les applications avec l'autorisation d'outil de débogage peuvent appeler `task_
### `com.apple.security.cs.disable-library-validation`
Cette autorisation permet de **charger des frameworks, des plug-ins ou des bibliothèques sans qu'ils soient signés par Apple ou signés avec le même ID d'équipe** que l'exécutable principal, ce qui permettrait à un attaquant d'abuser d'un chargement de bibliothèque arbitraire pour injecter du code. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation).
Cette autorisation permet de **charger des frameworks, des plug-ins ou des bibliothèques sans qu'ils soient signés par Apple ou signés avec le même ID d'équipe** que l'exécutable principal, ce qui permet à un attaquant d'abuser d'un chargement de bibliothèque arbitraire pour injecter du code. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation).
### `com.apple.security.cs.allow-dyld-environment-variables`
Cette autorisation permet d'**utiliser des variables d'environnement DYLD** qui pourraient être utilisées pour injecter des bibliothèques et du code. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-dyld-environment-variables).
### `com.apple.private.tcc.manager` et `com.apple.rootless.storage`.`TCC`
[**Selon ce blog**](https://objective-see.org/blog/blog\_0x4C.html), ces autorisations permettent de **modifier** la base de données **TCC**.
### com.apple.private.tcc.manager.check-by-audit-token
TODO: Je ne sais pas ce que cela permet de faire
### com.apple.private.apfs.revert-to-snapshot
TODO: Dans [**ce rapport**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/), il est mentionné que cela pourrait être utilisé pour mettre à jour les contenus protégés par SSV après un redémarrage. Si vous savez comment faire, envoyez une PR s'il vous plaît !
TODO: Dans [**ce rapport**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/), il est mentionné que cela pourrait être utilisé pour mettre à jour les contenus protégés par SSV après un redémarrage. Si vous savez comment faire, veuillez envoyer une PR !
### com.apple.private.apfs.create-sealed-snapshot
TODO: Dans [**ce rapport**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/), il est mentionné que cela pourrait être utilisé pour mettre à jour les contenus protégés par SSV après un redémarrage. Si vous savez comment faire, envoyez une PR s'il vous plaît !
TODO: Dans [**ce rapport**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/), il est mentionné que cela pourrait être utilisé pour mettre à jour les contenus protégés par SSV après un redémarrage. Si vous savez comment faire, veuillez envoyer une PR !
### **`kTCCServiceSystemPolicyAllFiles`**
Accorde des autorisations d'**accès complet au disque**, l'une des autorisations les plus élevées de TCC que vous pouvez avoir.
Accorde des autorisations d'**accès complet au disque**, l'une des autorisations les plus élevées de TCC.
### **`kTCCServiceAppleEvents`**
@ -64,31 +72,31 @@ Permet à l'application d'envoyer des événements à d'autres applications cour
### **`kTCCServiceSystemPolicySysAdminFiles`**
Permet de **modifier** l'attribut **`NFSHomeDirectory`** d'un utilisateur qui modifie son dossier personnel et permet donc de **contourner TCC**.
Permet de **modifier** l'attribut **`NFSHomeDirectory`** d'un utilisateur qui modifie son dossier personnel et permet donc de contourner TCC.
### **`kTCCServiceSystemPolicyAppBundles`**
Permet de modifier les applications à l'intérieur de leurs dossiers (à l'intérieur de app.app), ce qui est interdit par défaut.
Permet de modifier les applications à l'intérieur de leurs dossiers (à l'intérieur de app.app), ce qui est désactivé par défaut.
## Moyen
### `com.apple.security.cs.allow-jit`
Cette autorisation permet de **créer de la mémoire qui est inscriptible et exécutable** en passant le drapeau `MAP_JIT` à la fonction système `mmap()`. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-jit).
Cet avantage permet de **créer de la mémoire qui est inscriptible et exécutable** en passant le drapeau `MAP_JIT` à la fonction système `mmap()`. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-jit).
### `com.apple.security.cs.allow-unsigned-executable-memory`
Cette autorisation permet de **modifier ou patcher du code C**, d'utiliser la fonction longtemps obsolète **`NSCreateObjectFileImageFromMemory`** (qui est fondamentalement non sécurisée), ou d'utiliser le framework **DVDPlayback**. Consultez [**ce lien pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory).
Cet avantage permet de **remplacer ou patcher du code C**, d'utiliser la fonction **`NSCreateObjectFileImageFromMemory`** (qui est fondamentalement non sécurisée), ou d'utiliser le framework **DVDPlayback**. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory).
{% hint style="danger" %}
L'inclusion de cette autorisation expose votre application à des vulnérabilités courantes dans les langages de code non sécurisés en mémoire. Réfléchissez attentivement à la nécessité de cette exception pour votre application.
L'inclusion de cet avantage expose votre application à des vulnérabilités courantes dans les langages de code non sécurisés en mémoire. Réfléchissez attentivement à la nécessité de cette exception pour votre application.
{% endhint %}
### `com.apple.security.cs.disable-executable-page-protection`
Cette autorisation permet de **modifier des sections de ses propres fichiers exécutables** sur le disque pour forcer la sortie. Consultez [**ce lien pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection).
Cet avantage permet de **modifier les sections de ses propres fichiers exécutables** sur le disque pour forcer la sortie. Consultez [**ceci pour plus d'informations**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection).
{% hint style="danger" %}
L'autorisation de désactivation de la protection de la mémoire exécutable est une autorisation extrême qui supprime une protection de sécurité fondamentale de votre application, permettant à un attaquant de réécrire le code exécutable de votre application sans être détecté. Privilégiez des autorisations plus restreintes si possible.
L'avantage de désactivation de la protection de la mémoire exécutable est un avantage extrême qui supprime une protection de sécurité fondamentale de votre application, permettant à un attaquant de réécrire le code exécutable de votre application sans détection. Privilégiez des avantages plus restreints si possible.
{% endhint %}
### `com.apple.security.cs.allow-relative-library-loads`