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
- O que é o CrashStealer
- Como funciona um Notarized Dropper
- Como contorna o Gatekeeper do macOS
- Impacto em Macs corporativos (Jamf/Intune)
- Métodos de detecção
- Prevenção: políticas MDM e endpoint protection
- Passos de remediação
- Configuração Jamf: bloquear aplicações não autorizadas
- Configuração Intune: políticas macOS para Defender
- Checklist de protecção para administradores IT
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:
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:
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:
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:
# 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.
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:
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:
<!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:
<!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
