* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
<figure><imgsrc="../../../../.gitbook/assets/image.png"alt=""><figcaption><p>Imagem de <ahref="http://newosxbook.com/files/HITSB.pdf">http://newosxbook.com/files/HITSB.pdf</a></p></figcaption></figure>
Na imagem anterior, é possível observar **como o sandbox será carregado** quando um aplicativo com a permissão **`com.apple.security.app-sandbox`** é executado.
Em seguida, **`libSystem.B`** irá chamar várias outras funções até que o **`xpc_pipe_routine`** envie as permissões do aplicativo para o **`securityd`**. O Securityd verifica se o processo deve ser quarentenado dentro do Sandbox e, se for o caso, ele será quarentenado.\
Por fim, o sandbox será ativado com uma chamada para **`__sandbox_ms`** que chamará **`__mac_syscall`**.
Se você executar um binário que não será colocado em um sandbox a partir de um binário em sandbox, ele **será executado dentro do sandbox do processo pai**.
O arquivo `entitlements.xml` é um arquivo de propriedades que contém informações sobre as permissões concedidas a um aplicativo. Ele é usado pelo sistema de sandbox do macOS para determinar quais recursos o aplicativo tem permissão para acessar. O arquivo pode ser encontrado dentro do pacote do aplicativo em `/Contents/entitlements.plist`.
Os desenvolvedores podem especificar quais recursos o aplicativo precisa acessar, como acesso à internet, acesso ao sistema de arquivos ou acesso a dispositivos USB. O sistema de sandbox do macOS então garante que o aplicativo só possa acessar os recursos especificados no arquivo `entitlements.xml`.
Os usuários podem verificar as permissões concedidas a um aplicativo abrindo as Preferências do Sistema, selecionando Segurança e Privacidade e, em seguida, selecionando a guia Privacidade. A partir daí, os usuários podem ver quais recursos cada aplicativo tem permissão para acessar e podem conceder ou revogar permissões conforme necessário.
Os atacantes podem tentar modificar o arquivo `entitlements.xml` para conceder permissões adicionais a um aplicativo, permitindo que ele acesse recursos que normalmente não teria permissão para acessar. No entanto, isso requer acesso de gravação ao pacote do aplicativo, o que geralmente é difícil de obter.
O arquivo Info.plist é um arquivo de propriedades que contém informações sobre o aplicativo, incluindo as permissões necessárias para executar o aplicativo. Ele é usado pelo sistema operacional para determinar quais recursos o aplicativo pode acessar e quais ações ele pode executar. O arquivo Info.plist também contém informações sobre a versão do aplicativo, o nome do desenvolvedor e outras informações relevantes. É importante garantir que o arquivo Info.plist esteja configurado corretamente para evitar possíveis vulnerabilidades de segurança.
Se a partir do processo do Sandbox você conseguir **comprometer outros processos** em execução em Sandboxes menos restritivas (ou sem nenhuma), você poderá escapar para suas Sandboxes:
[**Esta pesquisa**](https://saagarjha.com/blog/2020/05/20/mac-app-store-sandbox-escape/) descobriu duas maneiras de contornar o Sandbox. Como o sandbox é aplicado a partir do userland quando a biblioteca **libSystem** é carregada. Se um binário pudesse evitar o carregamento dela, ele nunca seria sandboxed:
Se um processo com sandbox pode **escrever** em um local onde **mais tarde um aplicativo sem sandbox vai executar o binário**, ele será capaz de **escapar apenas colocando** o binário lá. Um bom exemplo desse tipo de localizações são `~/Library/LaunchAgents` ou `/System/Library/LaunchDaemons`.
Para isso, você pode precisar de **2 etapas**: fazer um processo com um sandbox **mais permissivo** (`file-read*`, `file-write*`) executar seu código, que realmente escreverá em um local onde será **executado sem sandbox**.
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).