Descoberta e escopo
Um novo infostealer nativo para macOS, denominado CrashStealer, foi identificado por pesquisadores de segurança, destacando-se pela sofisticação técnica e pela capacidade de evadir mecanismos de defesa padrão do sistema operacional. Diferente de malwares genéricos que utilizam scripts simples, o CrashStealer é desenvolvido em C++ e se disfarça como o utilitário legítimo de relatórios de falhas da Apple, o CrashReporter. A descoberta inicial ocorreu em maio de 2026, quando amostras suspeitas foram detectadas no VirusTotal pela Jamf, mas foi apenas em julho que as detecções em ambiente real confirmaram a maturidade da campanha e sua ativação em larga escala.
O malware foi projetado para coletar uma vasta gama de dados sensíveis, incluindo credenciais de navegadores, carteiras de criptomoedas, dados de gerenciadores de senhas e conteúdos do keychain do usuário. A análise técnica revela que o CrashStealer representa uma evolução significativa nas táticas de ameaças para o ecossistema macOS, migrando de scripts oportunistas para operações estruturadas e profissionais.
Análise técnica detalhada
A construção do CrashStealer difere substancialmente dos infostealers tradicionais para macOS, que frequentemente dependem de droppers baseados em AppleScript ou wrappers Objective-C. Este novo malware é escrito inteiramente em C++ nativo, utilizando uma classe interna chamada MacOSData. Essa escolha de linguagem e arquitetura permite maior controle sobre a execução e a manipulação de memória, facilitando a implementação de técnicas de ofuscação e evasão mais robustas.
O vetor de acesso inicial envolve um arquivo de imagem de disco (DMG) nomeado "Werkbit Setup". O que torna este caso particularmente preocupante é que o próprio container do DMG é assinado com um Developer ID legítimo e possui um ticket de notarização colado, permitindo que ele atravesse o Gatekeeper da Apple no primeiro lançamento sem gerar alertas de segurança para o usuário. Essa prática de assinar o container malicioso é rara em campanhas de malware e indica um nível elevado de investimento por parte dos atacantes.
Uma vez executado, o dropper recupera silenciosamente um script de shell ofuscado de uma infraestrutura hospedada no GitHub. O script decodifica múltiplas camadas de comandos codificados em Base64 e baixa o payload real, que é disfarçado como "CrashReporter.app". O payload mantém o bundle identifier da Apple, com.apple.crashreporter, e um ícone idêntico ao do sistema, garantindo que o processo pareça legítimo no Activity Monitor.
Capacidades de coleta de dados
Após a execução, o CrashStealer valida a senha de login da vítima localmente via dscl e desbloqueia o keychain. Em seguida, ele perfila as ferramentas de segurança instaladas antes de iniciar a coleta de dados. O escopo da coleta é extenso e reflete as prioridades atuais dos cibercriminosos:
- Navegadores: Armazenamentos de credenciais de famílias de navegadores Chromium (Chrome, Brave, Edge, Opera, Vivaldi) e Firefox.
- Criptomoedas: Aproximadamente 80 extensões de carteiras de criptomoedas, abrangendo ecossistemas como Ethereum, Solana, Cosmos e TON.
- Gerenciadores de Senhas: Dados de 14 gerenciadores de senhas, incluindo 1Password, Bitwarden e LastPass.
- Sistema: O keychain de login do usuário e reconhecimento mais amplo do sistema de arquivos nas pastas Documentos e Downloads.
O que distingue tecnicamente o CrashStealer é o uso de criptografia AES-256-GCM do lado do cliente, via framework CommonCrypto da Apple, para criptografar os dados antes de empacotá-los em arquivos ZIP e exfiltrá-los via libcurl. Essa abordagem de criptografia antes da exfiltração, combinada com medidas anti-análise como controle de fluxo e verificações anti-depuragem em camadas, reflete uma tendência de profissionalização das famílias de malware para macOS.
Persistência e infraestrutura
Para garantir a persistência, o CrashStealer copia e re-assina a si mesmo ad hoc e instala um LaunchAgent rotulado como com.apple.crashreporter.helper. Isso permite que o malware sobreviva a reinicializações do sistema, continuando o tema de impersonação da Apple até na camada de persistência. A Jamf também vinculou a campanha a um painel de operador ao vivo e a domínios de infraestrutura adicionais, sugerindo que o CrashStealer faz parte de uma operação multiplataforma maior, e não uma ferramenta isolada.
Recomendações para CISOs
As organizações que operam ambientes macOS devem revisar os logs de segurança para identificar processos que se assemelham ao CrashReporter, mas que não foram assinados pela Apple ou que possuem caminhos de execução suspeitos. É crucial monitorar a criação de LaunchAgents com nomes que imitam serviços do sistema. Além disso, a implementação de soluções de detecção de comportamento (EDR) que analisam a integridade de arquivos do sistema e a assinatura de código é essencial para identificar essas ameaças.
Os usuários devem ser educados sobre a verificação de assinaturas de código e a desconfiança de arquivos DMG, mesmo que pareçam legítimos. A revisão periódica das permissões de acesso do keychain e a auditoria de extensões de navegadores instaladas também são medidas defensivas recomendadas.
Perguntas frequentes
Como o CrashStealer se diferencia de outros malwares macOS?
Ele é escrito em C++ nativo e usa criptografia AES-256-GCM, além de assinar o container DMG, o que é raro.
Quais dados são mais visados?
Credenciais de navegadores, carteiras de criptomoedas e dados de gerenciadores de senhas.
Como detectar a infecção?
Monitorar processos chamados CrashReporter que não são assinados pela Apple e verificar LaunchAgents suspeitos.