# Débogage du bac à sable par défaut de 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**](https://github.com/sponsors/carlospolop) ! * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Sur cette page, vous pouvez trouver comment créer une application pour exécuter des commandes arbitraires à partir du bac à sable par défaut de macOS : 1. Compilez l'application : {% code title="main.m" %} ```objectivec #include int main(int argc, const char * argv[]) { @autoreleasepool { while (true) { char input[512]; printf("Enter command to run (or 'exit' to quit): "); if (fgets(input, sizeof(input), stdin) == NULL) { break; } // Remove newline character size_t len = strlen(input); if (len > 0 && input[len - 1] == '\n') { input[len - 1] = '\0'; } if (strcmp(input, "exit") == 0) { break; } system(input); } } return 0; } ``` {% endcode %} Compilez-le en exécutant : `clang -framework Foundation -o SandboxedShellApp main.m` 2. Construisez le bundle `.app` ```bash mkdir -p SandboxedShellApp.app/Contents/MacOS mv SandboxedShellApp SandboxedShellApp.app/Contents/MacOS/ cat << EOF > SandboxedShellApp.app/Contents/Info.plist CFBundleIdentifier com.example.SandboxedShellApp CFBundleName SandboxedShellApp CFBundleVersion 1.0 CFBundleExecutable SandboxedShellApp EOF ``` 3. Définir les privilèges Les privilèges sont des autorisations spécifiques accordées à une application pour accéder à certaines ressources ou fonctionnalités du système d'exploitation. Ils sont définis dans le fichier d'entitlements d'une application macOS. Les entitlements déterminent les actions qu'une application est autorisée à effectuer, telles que l'accès aux fichiers, aux services réseau, aux périphériques, etc. Les entitlements peuvent être utilisés pour restreindre les actions d'une application dans le bac à sable macOS. Par exemple, une application peut être autorisée à accéder uniquement à certains fichiers ou à utiliser uniquement certains services réseau spécifiés dans ses entitlements. Les entitlements peuvent également être utilisés pour accorder des privilèges supplémentaires à une application, tels que l'accès à des fonctionnalités spécifiques du système d'exploitation ou à des ressources sensibles. Cependant, l'attribution de privilèges supplémentaires doit être effectuée avec prudence, car cela peut augmenter le risque de vulnérabilités et d'abus potentiels. Il est important de définir avec précision les entitlements d'une application afin de garantir un niveau approprié de sécurité et de protection des données. Une mauvaise configuration des entitlements peut entraîner des failles de sécurité et des risques de violation de la confidentialité des utilisateurs. ```bash cat << EOF > entitlements.plist com.apple.security.app-sandbox EOF ``` 4. Signez l'application (vous devez créer un certificat dans le trousseau de clés) ```bash codesign --entitlements entitlements.plist -s "YourIdentity" SandboxedShellApp # An d in case you need this in the future codesign --remove-signature SandboxedShellApp.app ```
☁️ 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**](https://github.com/sponsors/carlospolop) ! * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).