* ¿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 de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
* Consigue 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 PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
<figure><imgsrc="../../../../.gitbook/assets/image.png"alt=""><figcaption><p>Imagen de <ahref="http://newosxbook.com/files/HITSB.pdf">http://newosxbook.com/files/HITSB.pdf</a></p></figcaption></figure>
En la imagen anterior se puede observar **cómo se cargará el sandbox** cuando se ejecute una aplicación con la concesión **`com.apple.security.app-sandbox`**.
Luego, **`libSystem.B`** llamará a otras varias funciones hasta que **`xpc_pipe_routine`** envíe las concesiones de la aplicación a **`securityd`**. Securityd comprueba si el proceso debe ser puesto en cuarentena dentro del Sandbox, y si es así, se pondrá en cuarentena.\
Finalmente, el sandbox se activará con una llamada a **`__sandbox_ms`** que llamará a **`__mac_syscall`**.
El archivo `entitlements.xml` es un archivo de configuración que se utiliza para especificar los permisos y capacidades que una aplicación tiene en el sistema. Estos permisos se denominan "entitlements" y se utilizan para restringir el acceso a ciertas funciones y recursos del sistema.
El archivo `entitlements.xml` se utiliza comúnmente en el contexto de la sandbox de macOS para especificar los permisos que una aplicación tiene dentro de la sandbox. Los permisos que se pueden especificar en el archivo `entitlements.xml` incluyen cosas como acceso a la red, acceso a archivos, acceso a la cámara y al micrófono, y más.
Es importante tener en cuenta que los permisos especificados en el archivo `entitlements.xml` no son necesariamente exhaustivos y que una aplicación puede tener acceso a recursos adicionales a través de otros medios. Además, es posible que una aplicación tenga permisos que no se especifican en el archivo `entitlements.xml` si se ejecuta fuera de la sandbox.
En general, el archivo `entitlements.xml` es una herramienta importante para garantizar que las aplicaciones se ejecuten de manera segura y limitada en la sandbox de macOS. Sin embargo, no es una solución completa y se deben tomar otras medidas de seguridad para garantizar que las aplicaciones no puedan escapar de la sandbox o acceder a recursos no autorizados.
El archivo Info.plist es un archivo de configuración que se encuentra en la raíz de cada aplicación macOS. Este archivo contiene información sobre la aplicación, como su nombre, versión, desarrollador y permisos requeridos. También puede contener información sobre el sandbox de la aplicación, como los recursos a los que se le permite acceder.
El archivo Info.plist se puede modificar para cambiar los permisos requeridos por la aplicación o para desactivar el sandbox por completo. Sin embargo, esto puede comprometer la seguridad del sistema y permitir que la aplicación acceda a recursos que normalmente estarían fuera de su alcance. Por lo tanto, es importante tener cuidado al modificar este archivo y solo hacerlo si es absolutamente necesario.
Si desde el proceso del Sandbox se puede **comprometer otros procesos** que se ejecutan en Sandboxes menos restrictivos (o sin ellos), se podrá escapar a sus Sandboxes:
[**Esta investigación**](https://saagarjha.com/blog/2020/05/20/mac-app-store-sandbox-escape/) descubrió 2 formas de evitar el Sandbox. Debido a que el Sandbox se aplica desde el espacio de usuario cuando se carga la biblioteca **libSystem**. Si un binario pudiera evitar cargarla, nunca se sandboxearía:
Si un proceso con sandbox puede **escribir** en un lugar donde **más tarde se ejecutará el binario una aplicación sin sandbox**, podrá **escapar simplemente colocando** allí el binario. Un buen ejemplo de este tipo de ubicaciones son `~/Library/LaunchAgents` o `/System/Library/LaunchDaemons`.
Para esto, incluso puede necesitar **2 pasos**: hacer que un proceso con un sandbox **más permisivo** (`file-read*`, `file-write*`) ejecute su código, que en realidad escribirá en un lugar donde se ejecutará **sin sandbox**.
* ¿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 PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).