9.1 KiB
Proteções de Segurança do macOS
☁️ 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 suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
Gatekeeper
Gatekeeper é geralmente usado para se referir à combinação de Quarantine + Gatekeeper + XProtect, 3 módulos de segurança do macOS que tentarão impedir que os usuários executem software potencialmente malicioso baixado.
Mais informações em:
{% content-ref url="macos-gatekeeper.md" %} macos-gatekeeper.md {% endcontent-ref %}
Limitações de Processos
SIP - Proteção de Integridade do Sistema
{% content-ref url="macos-sip.md" %} macos-sip.md {% endcontent-ref %}
Sandbox
O Sandbox do macOS limita as aplicações em execução dentro do sandbox às ações permitidas especificadas no perfil do Sandbox com o qual o aplicativo está sendo executado. Isso ajuda a garantir que a aplicação acesse apenas os recursos esperados.
{% content-ref url="macos-sandbox/" %} macos-sandbox {% endcontent-ref %}
TCC - Transparência, Consentimento e Controle
TCC (Transparência, Consentimento e Controle) é um mecanismo no macOS para limitar e controlar o acesso do aplicativo a determinados recursos, geralmente do ponto de vista da privacidade. Isso pode incluir coisas como serviços de localização, contatos, fotos, microfone, câmera, acessibilidade, acesso total ao disco e muito mais.
{% content-ref url="macos-tcc/" %} macos-tcc {% endcontent-ref %}
Restrições de Inicialização
Controla de onde e o que pode iniciar um binário assinado pela Apple:
- Você não pode iniciar um aplicativo diretamente se ele deve ser executado pelo launchd
- Você não pode executar um aplicativo fora do local confiável (como /System/)
O arquivo que contém informações sobre essas restrições está localizado no macOS em /System/Volumes/Preboot/*/boot/*/usr/standalone/firmware/FUD/StaticTrustCache.img4
(e no iOS parece estar em /usr/standalone/firmware/FUD/StaticTrustCache.img4
).
Parece que era possível usar a ferramenta img4tool para extrair o cache:
img4tool -e in.img4 -o out.bin
(No entanto, não consegui compilá-lo no M1). Você também pode usar o pyimg4, mas o seguinte script não funciona com essa saída.
Em seguida, você pode usar um script como este para extrair dados.
A partir desses dados, você pode verificar os aplicativos com um valor de restrição de inicialização de 0
, que são aqueles que não têm restrições (verifique aqui para saber o que cada valor significa).
MRT - Ferramenta de Remoção de Malware
A Ferramenta de Remoção de Malware (MRT) é outra parte da infraestrutura de segurança do macOS. Como o nome sugere, a principal função do MRT é remover malware conhecido de sistemas infectados.
Uma vez que o malware é detectado em um Mac (seja pelo XProtect ou por outros meios), o MRT pode ser usado para remover automaticamente o malware. O MRT opera silenciosamente em segundo plano e geralmente é executado sempre que o sistema é atualizado ou quando uma nova definição de malware é baixada (parece que as regras que o MRT usa para detectar malware estão dentro do binário).
Embora tanto o XProtect quanto o MRT façam parte das medidas de segurança do macOS, eles desempenham funções diferentes:
- O XProtect é uma ferramenta preventiva. Ele verifica arquivos conforme são baixados (por meio de determinados aplicativos) e, se detectar algum tipo conhecido de malware, impede a abertura do arquivo, evitando assim que o malware infecte o sistema em primeiro lugar.
- O MRT, por outro lado, é uma ferramenta reativa. Ele opera após a detecção de malware em um sistema, com o objetivo de remover o software ofensivo para limpar o sistema.
O aplicativo MRT está localizado em /Library/Apple/System/Library/CoreServices/MRT.app
Gerenciamento de Tarefas em Segundo Plano
O macOS agora alerta sempre que uma ferramenta usa uma técnica conhecida para persistir a execução de código (como Itens de Login, Daemons...), para que o usuário saiba melhor qual software está persistindo.
É possível enumerar todos os itens de segundo plano configurados executando a ferramenta de linha de comando da Apple:
# The tool will always ask for the users password
sfltool dumpbtm
Além disso, também é possível listar essas informações com o DumpBTM.
# You need to grant the Terminal Full Disk Access for this to work
chmod +x dumpBTM
xattr -rc dumpBTM # Remove quarantine attr
./dumpBTM
Essas informações estão sendo armazenadas em /private/var/db/com.apple.backgroundtaskmanagement/BackgroundItems-v4.btm
e o Terminal precisa da FDA.
Você pode encontrar mais informações:
- https://www.patreon.com/posts/new-developer-77420730?l=fr
- https://support.apple.com/en-gb/guide/deployment/depdca572563/web
Cache de Confiança
O cache de confiança do Apple macOS, às vezes também chamado de cache AMFI (Apple Mobile File Integrity), é um mecanismo de segurança no macOS projetado para prevenir a execução de software não autorizado ou malicioso. Essencialmente, é uma lista de hashes criptográficos que o sistema operacional usa para verificar a integridade e autenticidade do software.
Quando um aplicativo ou arquivo executável tenta ser executado no macOS, o sistema operacional verifica o cache de confiança do AMFI. Se o hash do arquivo for encontrado no cache de confiança, o sistema permite que o programa seja executado porque o reconhece como confiável.
☁️ 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 para o repositório hacktricks-cloud.