hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/README.md

9.1 KiB

Proteções de Segurança do macOS

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

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:

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 🎥