* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
El Sandbox de macOS (inicialmente llamado Seatbelt) **limita las aplicaciones** que se ejecutan dentro del sandbox a las **acciones permitidas especificadas en el perfil del Sandbox** con el que se está ejecutando la aplicación. Esto ayuda a garantizar que **la aplicación solo acceda a los recursos esperados**.
Cualquier aplicación con el **permiso****`com.apple.security.app-sandbox`** se ejecutará dentro del sandbox. **Los binarios de Apple** suelen ejecutarse dentro de un Sandbox y, para publicar en la **App Store**, **este permiso es obligatorio**. Por lo tanto, la mayoría de las aplicaciones se ejecutarán dentro del sandbox.
Para controlar lo que un proceso puede o no puede hacer, el Sandbox tiene **hooks** en todas las **syscalls** del kernel. **Dependiendo** de los **permisos** de la aplicación, el Sandbox permitirá ciertas acciones.
Dentro de la carpeta de contenedores, puedes encontrar **una carpeta para cada aplicación ejecutada en modo sandbox** con el nombre del identificador del paquete:
Ten en cuenta que aunque los enlaces simbólicos estén ahí para "escapar" del Sandbox y acceder a otras carpetas, la aplicación aún necesita **tener permisos** para acceder a ellas. Estos permisos se encuentran dentro del **`.plist`**.
Los perfiles de Sandbox son archivos de configuración que indican qué está permitido/prohibido en esa Sandbox. Utiliza el Lenguaje de Perfil de Sandbox (SBPL), que utiliza el lenguaje de programación [Scheme](https://es.wikipedia.org/wiki/Scheme).
Consulta esta [**investigación**](https://reverse.put.as/2011/09/14/apple-sandbox-guide-v1-0/) **para obtener más información sobre las acciones que se pueden permitir o denegar**.
También se ejecutan importantes **servicios del sistema** dentro de su propio **sandbox personalizado**, como el servicio `mdnsresponder`. Puedes ver estos **perfiles de sandbox personalizados** en:
* Otros perfiles de sandbox se pueden verificar en [https://github.com/s7ephen/OSX-Sandbox--Seatbelt--Profiles](https://github.com/s7ephen/OSX-Sandbox--Seatbelt--Profiles).
Las aplicaciones de **App Store** utilizan el perfil **`/System/Library/Sandbox/Profiles/application.sb`**. Puedes verificar en este perfil cómo los permisos, como **`com.apple.security.network.server`**, permiten que un proceso use la red.
El archivo `touch.sb` es un archivo de política de sandbox para macOS. Define las restricciones de seguridad para la aplicación `touch`. El sandbox es un mecanismo de seguridad que limita los recursos y las acciones que una aplicación puede realizar en el sistema operativo. Esto ayuda a prevenir posibles vulnerabilidades y protege el sistema de posibles ataques.
El archivo `touch.sb` contiene reglas que especifican los permisos y las restricciones para la aplicación `touch`. Estas reglas definen qué recursos puede acceder la aplicación, como archivos, directorios, redes y servicios del sistema. También especifica las acciones que la aplicación puede realizar, como leer, escribir o ejecutar archivos.
Al utilizar el archivo `touch.sb`, se puede restringir el acceso de la aplicación `touch` a ciertos recursos y acciones, lo que ayuda a proteger el sistema contra posibles abusos o ataques maliciosos. Es importante configurar adecuadamente las reglas de sandbox para garantizar la seguridad del sistema y prevenir posibles vulnerabilidades.
Ten en cuenta que el **software****desarrollado por Apple** que se ejecuta en **Windows****no tiene precauciones de seguridad adicionales**, como el aislamiento de aplicaciones.
* [https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c](https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c) (pueden escribir archivos fuera del sandbox cuyo nombre comienza con `~$`).
Y si una aplicación de terceros tiene la autorización _**com.apple.security.app-sandbox**_, el sistema aplica el perfil **/System/Library/Sandbox/Profiles/application.sb** a ese proceso.
**Los procesos no nacen aislados en el sandbox en macOS: a diferencia de iOS**, donde el sandbox se aplica por el kernel antes de que se ejecute la primera instrucción de un programa, en macOS **un proceso debe elegir colocarse en el sandbox.**
Los procesos se aíslan automáticamente desde el espacio de usuario cuando se inician si tienen la autorización: `com.apple.security.app-sandbox`. Para obtener una explicación detallada de este proceso, consulta:
[Según esto](https://www.youtube.com/watch?v=mG715HcDgO8\&t=3011s), la función **`sandbox_check`** (es una `__mac_syscall`), puede verificar **si una operación está permitida o no** por el sandbox en un PID específico.
La [**herramienta sbtool**](http://newosxbook.com/src.jl?tree=listings\&file=sbtool.c) puede verificar si un PID puede realizar una determinada acción:
Es posible que las empresas puedan hacer que sus aplicaciones se ejecuten con **perfiles de Sandbox personalizados** (en lugar del predeterminado). Deben utilizar el permiso **`com.apple.security.temporary-exception.sbpl`**, el cual debe ser autorizado por Apple.
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).