mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
Translated ['macos-hardening/macos-security-and-privilege-escalation/mac
This commit is contained in:
parent
b5b1d462da
commit
7c2df9f3dd
1 changed files with 22 additions and 14 deletions
|
@ -20,11 +20,11 @@ Notez que les autorisations commençant par **`com.apple`** ne sont pas disponib
|
||||||
|
|
||||||
### com.apple.rootless.install.heritable
|
### 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**
|
### **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`
|
### `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`
|
### `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`
|
### `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).
|
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
|
### 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
|
### 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`**
|
### **`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`**
|
### **`kTCCServiceAppleEvents`**
|
||||||
|
|
||||||
|
@ -64,31 +72,31 @@ Permet à l'application d'envoyer des événements à d'autres applications cour
|
||||||
|
|
||||||
### **`kTCCServiceSystemPolicySysAdminFiles`**
|
### **`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`**
|
### **`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
|
## Moyen
|
||||||
|
|
||||||
### `com.apple.security.cs.allow-jit`
|
### `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`
|
### `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" %}
|
{% 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 %}
|
{% endhint %}
|
||||||
|
|
||||||
### `com.apple.security.cs.disable-executable-page-protection`
|
### `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" %}
|
{% 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 %}
|
{% endhint %}
|
||||||
|
|
||||||
### `com.apple.security.cs.allow-relative-library-loads`
|
### `com.apple.security.cs.allow-relative-library-loads`
|
||||||
|
|
Loading…
Reference in a new issue