11 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.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.get-task-allow
Essa permissão permite que outros processos com a permissão com.apple.security.cs.debugger
obtenham a porta da tarefa do processo executado pelo binário com essa permissão e injetem código nele. 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 que portanto estã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 alguma carga de biblioteca arbitrária para injetar código. Verifique isto para mais informações.
com.apple.private.security.clear-library-validation
Essa permissão é muito semelhante a com.apple.security.cs.disable-library-validation
, mas em vez disso de desabilitar diretamente a validação da biblioteca, ela permite que o processo chame uma chamada de sistema csops
para desabilitá-la.
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.
system.install.apple-software
e system.install.apple-software.standar-user
Essas permissões permitem instalar software sem solicitar permissões ao usuário, o que pode ser útil para uma elevação de privilégios.
com.apple.private.security.kext-management
Permissão necessária para solicitar ao kernel que carregue uma extensão de kernel.
com.apple.private.tcc.manager.check-by-audit-token
TODO: 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, envie um PR, por favor!
com.apple.private.apfs.create-sealed-snapshot
TODO: Neste relatório é mencionado que isso pode ser usado para atualizar o conteúdo protegido pelo SSV após uma reinicialização. Se você souber como fazer isso, envie um PR, por favor!
keychain-access-groups
Esta lista de permissões keychain agrupa os grupos de acesso que o aplicativo possui:
<key>keychain-access-groups</key>
<array>
<string>ichat</string>
<string>apple</string>
<string>appleaccount</string>
<string>InternetAccounts</string>
<string>IMCore</string>
</array>
kTCCServiceSystemPolicyAllFiles
Concede permissões de Acesso Total ao Disco, uma das permissões mais altas do TCC.
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 arquivos dentro do pacote do aplicativo (dentro do app.app), o que é desativado 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 isso 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 isso para mais informações.
{% hint style="danger" %} Incluir essa permissão expõe seu aplicativo a vulnerabilidades comuns em linguagens de código inseguras em relação à 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 isso para mais informações.
{% hint style="danger" %} A Permissão de Desativação de 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 que um invasor reescreva 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 segurança cibernética? 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 o repositório hacktricks-cloud.