9.2 KiB
macOS Entitlements Perigosos e Permissões TCC
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? 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!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
{% hint style="warning" %}
Observe que as permissões que começam com com.apple
não estão disponíveis para terceiros, apenas a Apple pode concedê-las.
{% endhint %}
Alto
com.apple.rootless.install.heritable
A permissão com.apple.rootless.install.heritable
permite burlar o SIP. Verifique isto para mais informações.
com.apple.rootless.install
A permissão com.apple.rootless.install
permite burlar o SIP. Verifique isto para mais informações.
com.apple.security.get-task-allow
Essa permissão permite obter a porta da tarefa do processo executado pelo binário com essa permissão e injetar código nele. Verifique isto para mais informações.
com.apple.system-task-ports
(anteriormente chamado task_for_pid-allow
)
Essa permissão permite obter a porta da tarefa para qualquer processo, exceto o kernel. Verifique isto para mais informações.
com.apple.security.cs.debugger
Aplicativos com a Permissão da Ferramenta de Depuração podem chamar task_for_pid()
para recuperar uma porta de tarefa válida para aplicativos não assinados e de terceiros com a permissão Get Task Allow
definida como true
. No entanto, mesmo com a permissão da ferramenta de depuração, um depurador não pode obter as portas de tarefa de processos que não possuem a permissão Get Task Allow
e, portanto, são protegidos pela Proteção de Integridade do Sistema. Verifique isto para mais informações.
com.apple.security.cs.disable-library-validation
Essa permissão permite carregar frameworks, plug-ins ou bibliotecas sem serem assinados pela Apple ou assinados com o mesmo ID de equipe que o executável principal, portanto, um invasor pode abusar de algum carregamento arbitrário de biblioteca para injetar código. Verifique isto para mais informações.
com.apple.security.cs.allow-dyld-environment-variables
Essa permissão permite usar variáveis de ambiente DYLD que podem ser usadas para injetar bibliotecas e código. Verifique isto para mais informações.
com.apple.private.tcc.manager
e com.apple.rootless.storage
.TCC
De acordo com este blog, essas permissões permitem modificar o banco de dados TCC.
com.apple.private.tcc.manager.check-by-audit-token
TODO: Eu não sei o que isso permite fazer
com.apple.private.apfs.revert-to-snapshot
TODO: Em este relatório é mencionado que isso poderia ser usado para atualizar o conteúdo protegido por SSV após uma reinicialização. Se você souber como enviar um PR, por favor!
com.apple.private.apfs.create-sealed-snapshot
TODO: Em este relatório é mencionado que isso poderia ser usado para atualizar o conteúdo protegido por SSV após uma reinicialização. Se você souber como enviar um PR, por favor!
kTCCServiceSystemPolicyAllFiles
Concede permissões de Acesso Total ao Disco, uma das permissões mais altas do TCC que você pode ter.
kTCCServiceAppleEvents
Permite que o aplicativo envie eventos para outros aplicativos que são comumente usados para automatizar tarefas. Controlando outros aplicativos, ele pode abusar das permissões concedidas a esses outros aplicativos.
kTCCServiceSystemPolicySysAdminFiles
Permite alterar o atributo NFSHomeDirectory
de um usuário que altera sua pasta pessoal e, portanto, permite burlar o TCC.
kTCCServiceSystemPolicyAppBundles
Permite modificar aplicativos dentro de suas pastas (dentro de app.app), o que é desabilitado por padrão.
Médio
com.apple.security.cs.allow-jit
Essa permissão permite criar memória que pode ser gravada e executada passando a flag MAP_JIT
para a função de sistema mmap()
. Verifique aqui para mais informações.
com.apple.security.cs.allow-unsigned-executable-memory
Essa permissão permite sobrescrever ou corrigir código C, usar o NSCreateObjectFileImageFromMemory
(que é fundamentalmente inseguro) ou usar o framework DVDPlayback. Verifique aqui para mais informações.
{% hint style="danger" %} Incluir essa permissão expõe seu aplicativo a vulnerabilidades comuns em linguagens de código inseguro na memória. Considere cuidadosamente se seu aplicativo precisa dessa exceção. {% endhint %}
com.apple.security.cs.disable-executable-page-protection
Essa permissão permite modificar seções de seus próprios arquivos executáveis no disco para sair forçadamente. Verifique aqui para mais informações.
{% hint style="danger" %} A permissão de Desabilitar Proteção de Memória Executável é uma permissão extrema que remove uma proteção de segurança fundamental do seu aplicativo, tornando possível para um invasor reescrever o código executável do seu aplicativo sem detecção. Prefira permissões mais restritas, se possível. {% endhint %}
com.apple.security.cs.allow-relative-library-loads
TODO
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Gostaria de ver sua empresa anunciada no HackTricks? Ou gostaria de ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e para o repositório hacktricks-cloud.