CrashStealer em macOS: Como Notarized Droppers Contornam o Gatekeeper e Proteger Macs Corporativos

macOS · CrashStealer · Gatekeeper · Notarization · MDM · Jamf · Intune · ✓ Duarte Spínola · 2026-07-15

ℹ Nota de transparência: Este artigo baseia-se na investigação pública divulgada pelo The Hacker News (13 de Julho de 2026) sobre o CrashStealer e na documentação oficial da Apple sobre Notarization e Gatekeeper. Os comandos de detecção e remediação foram elaborados a partir da documentação técnica da Apple, Jamf e Microsoft Intune. Não foi possível testar os comandos num Mac corporativo real (a Apple pode alterar o comportamento do Gatekeeper em futuras versões do macOS).

Neste artigo

1. O que é o CrashStealer

O CrashStealer é uma campanha de malware recentemente descoberta que visa utilizadores de macOS, usando um dropper notarizado para passar as verificações do Gatekeeper da Apple. A campanha foi divulgada pelo The Hacker News a 13 de Julho de 2026, revelando uma técnica sofisticada que explora a confiança que utilizadores e administradores depositam no sistema de Notarization da Apple.

O nome “CrashStealer” deriva do comportamento observado: o malware provoca crashes simulados de aplicações legítimas para extrair credenciais, tokens de sessão e dados sensíveis do sistema. Ao contrário de ameaças anteriores que dependiam de bypasses do Gatekeeper através de técnicas como xattr -d com.apple.quarantine, o CrashStealer obtém legitimidade através de um certificado notarizado válido.

A investigação revela que o dropper notarizado é distribuído através de campanhas de phishing dirigidas a profissionais corporativos, com mensagens de email que se passam por actualizações de software legítimas. Os alvos incluem empresas que utilizam Macs geridos por Jamf ou Microsoft Intune.

⚠ Atenção: O CrashStealer representa uma evolução significativa nas ameaças a macOS. Ao usar um dropper notarizado, o malware passa o Gatekeeper sem qualquer aviso ao utilizador — nem a janela “Esta aplicação não pode ser aberta porque o programador não pode ser verificado” aparece. O utilizador acredita estar a instalar software legítimo.

2. Como funciona um Notarized Dropper

Um dropper notarizado é uma aplicação macOS que passou pelo processo de Notarization da Apple — a submissão automática do binário aos servidores da Apple para verificação de segurança — mas que contém código malicioso embutido. O processo funciona da seguinte forma:

1. O atacante desenvolve uma aplicação que aparenta ser legítima (ex: ferramenta de produtividade, utilitário de sistema, actualização de software).

2. Submete a aplicação à Notarization da Apple. A Apple verifica a presença de malware conhecido, valida a assinatura do código e emite um ticket de notarization.

3. Após a aprovação, a aplicação recebe um stapled ticket que o Gatekeeper valida localmente sem necessidade de ligação aos servidores da Apple.

4. O dropper, agora com aparência legítima, descarrega e executa o payload do CrashStealer após a instalação, contornando toda a verificação inicial.

ℹ Como a Apple notariza: A Notarization é um processo automatizado — não há revisão manual humana. A Apple verifica se o binário contém assinaturas de malware conhecidas, mas não detecta payloads novos ou ofuscados. Isto significa que um dropper com payload novo pode passar o processo se não corresponder a assinaturas conhecidas. Mais informações na documentação oficial da Apple sobre Notarization.

O CrashStealer explora exactamente esta lacuna: o payload é descarregado em runtime, depois da verificação do Gatekeeper, tornando a detecção estática ineficaz. A aplicação notarizada funciona como um “cavalo de Troia” legítimo aos olhos do macOS.

3. Como contorna o Gatekeeper do macOS

O Gatekeeper é a primeira linha de defesa do macOS contra aplicações não confiáveis. Quando um utilizador transfere uma aplicação da internet, o macOS adiciona um atributo de quarentena (com.apple.quarantine) ao ficheiro. Ao tentar abrir a aplicação, o Gatekeeper verifica:

Verificação do Gatekeeper O que verifica Como o CrashStealer contorna
Assinatura do código Valida o Developer ID da aplicação Usa um Developer ID válido (possivelmente comprometido ou registado por identidade falsa)
Ticket de Notarization Confirma que a Apple analisou o binário O dropper passou a Notarization (payload não estava presente na altura)
Atributo de quarentena Verifica se o ficheiro veio da internet Não removido — não é necessário, a app passa a verificação normalmente
Verificação em runtime Não existe verificação pós-execução do payload Payload descarregado e executado depois da verificação inicial

O resultado é que o utilizador não vê qualquer aviso de segurança. A aplicação abre normalmente, aparenta ser legítima e, em segundo plano, descarrega o payload do CrashStealer que começa a recolher dados sensíveis.

Para verificar o estado de notarization de uma aplicação no macOS, os administradores podem usar os seguintes comandos:

# Verificar a assinatura de código de uma aplicação
codesign -dv –verbose=4 /Applications/Suspeita.app# Verificar o ticket de notarization stapled
xcrun stapler validate /Applications/Suspeita.app

# Verificar o atributo de quarentena
xattr -l /Applications/Suspeita.app

# Remover o atributo de quarentena (apenas para testes)
xattr -d com.apple.quarantine /Applications/Suspeita.app

O comando xcrun stapler validate deve retornar The validate action worked! para aplicações notarizadas legítimas. No entanto, como o CrashStealer passa este teste, os administradores não podem depender apenas desta verificação.

4. Impacto em Macs corporativos (Jamf/Intune)

O impacto do CrashStealer em ambientes corporativos é particularmente grave porque muitas organizações confiam no sistema de Notarization como garantia de segurança. As plataformas de gestão de dispositivos (MDM) como Jamf e Microsoft Intune não bloqueiam automaticamente aplicações notarizadas, criando um ponto cego na defesa.

Cenário corporativo Risco com CrashStealer Plataforma afectada
BYOD (Bring Your Own Device) Utilizador instala app notarizada sem aviso do Gatekeeper Jamf Pro / Intune
Self-Service App Store corporativo Se o dropper estiver catalogado, propaga-se rapidamente Jamf Self Service
Política de aplicações permitidas App notarizada não é bloqueada pela política Intune Endpoint Protection
Acesso a dados corporativos Roubo de tokens de sessão e credenciais SSO Todas (Jamf + Intune)
Compliance (GDPR/NIS2) Violação de dados pessoais pode obrigar a notificação à CNPD Todas

Em empresas com Macs geridos por Jamf, o cenário mais preocupante é o Self Service: se um administrador adicionar uma aplicação notarizada maliciosa ao catálogo (por engano, pensando que é legítima), o malware propaga-se a todos os dispositivos geridos sem qualquer aviso. O mesmo se aplica a políticas do Intune que permitem aplicações notarizadas.

⚠ Risco crítico: Organizações que usam políticas MDM baseadas apenas em “permitir aplicações notarizadas” estão vulneráveis. O CrashStealer prova que a Notarization da Apple NÃO é uma garantia de que a aplicação é segura — apenas que não contém malware conhecido na altura da submissão. A estratégia de allowlisting deve ser complementada com detecção comportamental.

5. Métodos de detecção

A detecção do CrashStealer requer uma abordagem em várias camadas, já que a verificação estática do Gatekeeper é insuficiente. Os métodos abaixo combinam comandos nativos do macOS com ferramentas de gestão corporativa.

5.1 Verificação de processos de rede suspeitos

O CrashStealer estabelece ligações de rede para servidores C2 (Command and Control). Os administradores podem monitorizar ligações de saída anómalas:

# Listar todas as ligações de rede activas com PID
lsof -i -P -n | grep ESTABLISHED# Monitorizar ligações de saída em tempo real
sudo tcpdump -i en0 -nn ‘tcp[tcpflags] & tcp-syn != 0’ -c 100

# Verificar processos que abrem ligações para IPs desconhecidos
sudo nettop -P -L 1 -k time,interface,state,rx_dupe,rx_ooo

5.2 Análise de Launch Agents e Daemons

O CrashStealer mantém persistência através de Launch Agents. Verificar os seguintes directórios:

# Listar Launch Agents do utilizador
ls -la ~/Library/LaunchAgents/# Listar Launch Daemons do sistema
ls -la /Library/LaunchDaemons/

# Listar Launch Agents do sistema
ls -la /Library/LaunchAgents/

# Verificar propriedades de Launch Agents carregados
launchctl list | grep -v “com.apple”

# Inspecionar um Launch Agent suspeito
plutil -p ~/Library/LaunchAgents/com.suspeito.plist

⚠ Sinal de alerta: Launch Agents com nomes que não correspondem a aplicações conhecidas, ou que executam binários em /tmp/, /var/tmp/ ou directórios ocultos, são fortes indicadores de comprometimento.

5.3 Deteção com Jamf Pro

O Jamf Pro oferece Extension Attributes e Smart Groups para detectar indicadores de comprometimento. Criar um Extension Attribute que verifica a presença de Launch Agents não standard:

#!/bin/bash
# Extension Attribute: Non-Apple Launch AgentsRESULT=””
for plist in ~/Library/LaunchAgents/*.plist /Library/LaunchAgents/*.plist; do
if [ -f “$plist” ]; then
label=$(defaults read “$plist” Label 2>/dev/null)
if [[ ! “$label” =~ ^com\.apple\. ]]; then
RESULT=”$RESULT $label”
fi
fi
done

echo “<result>${RESULT:-None}</result>”

5.4 Detecção com Microsoft Defender for Endpoint (Intune)

O Microsoft Defender for Endpoint (MDE) para Mac, gerido via Intune, pode detectar comportamentos maliciosos mesmo em aplicações notarizadas. Activar a detecção comportamental e criar indicators personalizados para hashes conhecidos do CrashStealer. Consultar a documentação oficial do Microsoft Defender for Endpoint para Mac.

# Verificar estado do MDE no Mac
mdatp health# Listar detecções recentes
mdatp threat list

# Verificar definições de proteção em tempo real
mdatp health –field real_time_protection_enabled

6. Prevenção: políticas MDM e endpoint protection

A prevenção do CrashStealer requer uma estratégia de defesa em profundidade que vai além da Notarization. As seguintes medidas devem ser implementadas em ambientes corporativos:

Medida de prevenção Como implementar Plataforma
Allowlisting de aplicações Configuração profiles que bloqueiam tudo excepto apps aprovadas Jamf + Intune
Protecção em tempo real Activar MDE com detecção comportamental Intune / MDM
Restrição de Launch Agents Perfil MDM que restringe ~/Library/LaunchAgents Jamf + Intune
Monitorização de rede Bloquear ligações para domínios não classificados Firewall corporativo
Formação de utilizadores Treinar para não instalar apps de fontes não verificadas RH + IT
Hardening do Gatekeeper Configurar spctl --global-disable = OFF MDM profile

✓ Boa prática: A Apple recomenda que as empresas usem Configuration Profiles MDM para impor restrições de software em vez de depender do Gatekeeper. Os profiles MDM são mais granulares e podem ser actualizados remotamente sem depender de actualizações do macOS. Consultar as referências MDM da Apple.

7. Passos de remediação

Se um Mac corporativo for comprometido pelo CrashStealer, os administradores devem seguir estes passos de remediação por ordem de prioridade:

# PASSO 1: Isolar o Mac da rede
sudo ifconfig en0 down# PASSO 2: Remover a aplicação maliciosa
sudo rm -rf /Applications/Suspeita.app

# PASSO 3: Remover Launch Agents maliciosos
launchctl unload ~/Library/LaunchAgents/com.suspeito.plist 2>/dev/null
rm -f ~/Library/LaunchAgents/com.suspeito.plist
rm -f /Library/LaunchAgents/com.suspeito.plist

# PASSO 4: Remover Launch Daemons maliciosos
sudo launchctl unload /Library/LaunchDaemons/com.suspeito.plist 2>/dev/null
sudo rm -f /Library/LaunchDaemons/com.suspeito.plist

# PASSO 5: Verificar processos em execução
ps aux | grep -i suspeito

# PASSO 6: Verificar ligações de rede persistentes
lsof -i -P -n | grep ESTABLISHED

# PASSO 7: Executar scan completo com MDE
mdatp scan full

# PASSO 8: Verificar integridade do keychain
security list-keychains
security find-generic-password -s “Suspeita” 2>/dev/null

⚠ Acção crítica: Após detectar um comprometimento, todos os tokens de sessão e credenciais armazenados no Keychain devem ser considerados comprometidos. Revogar sessões SSO, forçar re-autenticação MFA e redefinir passwords de contas corporativas que estavam acessíveis no dispositivo afectado.

8. Configuração Jamf: bloquear aplicações não autorizadas

O Jamf Pro permite criar Configuration Profiles que restringem quais aplicações podem ser executadas nos Macs geridos. A estratégia recomendada é usar Restrictions Payload combinado com Smart Groups para identificar dispositivos com software não autorizado.

Criar um Configuration Profile no Jamf Pro com as seguintes definições:

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN”
“http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>PayloadType</key>
<string>com.apple.applicationaccess.new</string>
<key>PayloadContent</key>
<dict>
<key>familyControlsEnabled</key>
<true/>
<key>pathBlacklist</key>
<array>
<string>/Applications/Suspeita.app</string>
</array>
<key>whiteSystemProcessAllowed</key>
<true/>
</dict>
</dict>
</plist>

Para detectar Macs que já têm aplicações suspeitas instaladas, criar um Smart Group no Jamf Pro com um Extension Attribute que lista aplicações em /Applications/ que não estão numa lista aprovada. Mais informações na documentação oficial do Jamf sobre Restrictions.

9. Configuração Intune: políticas macOS para Defender

No Microsoft Intune, criar uma política de configuração para o Microsoft Defender for Endpoint (MDE) em macOS que activa a detecção comportamental e impõe restrições de execução de software:

# Ficheiro .plist para Intune (defender_settings.plist)<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN”
“http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>features</key>
<dict>
<key>behaviorMonitoring</key>
<string>enabled</string>
<key>networkProtection</key>
<string>enabled</string>
<key>realTimeProtection</key>
<string>enabled</string>
</dict>
<key>threatTypeSettings</key>
<array>
<dict>
<key>key</key>
<string>potentially_unwanted_application</string>
<key>value</key>
<string>block</string>
</dict>
</array>
</dict>
</plist>

No Intune, navegar para Devices > macOS > Configuration Profiles > Create Profile > Templates > Preference file, carregar o ficheiro .plist acima e atribuir ao grupo de dispositivos macOS. Consultar a documentação oficial de preferências do MDE para Mac para a lista completa de definições.

ℹ Importante: A funcionalidade behaviorMonitoring do MDE detecta processos que descarregam e executam payloads em runtime — exactamente o padrão do CrashStealer. Esta funcionalidade está disponível no MDE para Mac desde a versão 101.24032.0005 e deve ser activada em todos os dispositivos corporativos.

10. Checklist de protecção para administradores IT

Checklist consolidado para administradores IT protegerem Macs corporativos contra o CrashStealer e ameaças similares que explorem Notarized Droppers:

Fase Acção Estado
Prevenção Activar MDE com behaviorMonitoring em todos os Macs
Prevenção Implementar allowlisting de aplicações via MDM
Prevenção Restringir Launch Agents do utilizador via Configuration Profile
Detecção Criar Extension Attributes no Jamf para Launch Agents não standard
Detecção Configurar alertas SIEM para ligações de rede anómalas
Detecção Auditar Self Service catalog semanalmente
Remediação Documentar runbook de resposta a comprometimento macOS
Remediação Configurar revogação automática de sessões SSO
Formação Treinar utilizadores para não instalar apps de email/phishing
Formação Comunicar política oficial de instalação de software

✓ Conclusão: O CrashStealer demonstra que a Notarization da Apple, embora valiosa, não é uma defesa completa. Organizações que gerem Macs corporativos precisam de adoptar uma abordagem de defesa em profundidade: allowlisting de aplicações via MDM, detecção comportamental com MDE, restrição de Launch Agents, e formação contínua de utilizadores. A confiança cega na Notarization é um risco que administradores IT não podem assumir em 2026.

Fonte: The Hacker News — CrashStealer macOS Malware Uses Notarized Dropper to Pass Gatekeeper Checks (13 Jul 2026) · Documentação Apple Notarization · Documentação Microsoft Defender for Endpoint para Mac · Documentação Jamf Pro Restrictions · ✓ Duarte Spínola · 2026-07-15

Este artigo foi útil?

Duarte Spínola

Deixe um Comentário