Malware para macOS evolui com mecanismo de decriptografia via C2 e persistência oculta em repositórios Git

Pesquisadores de segurança alertam sobre uma atualização significativa do PamStealer, um malware para macOS que agora requer interação em tempo real com servidores de comando e controle (C2) para recuperar sua payload principal, dificultando análises estáticas por parte de especialistas.

Segundo a Jamf Threat Labs, as versões mais recentes mantêm o mecanismo de dropper baseado em JavaScript for Automation (JXA), mas alteram a estratégia de engenharia social e entrega. Enquanto variantes anteriores, identificadas entre julho e agosto de 2026, usavam sites falsos disfarçados de ferramentas como Maccy, Scoppr e Nancy Clipboard, a versão atual se apoia em um site bobo chamado “wavel[.]app”, que anuncia um serviço de carteira criptomoedas inexistente.

O download da “Wavel.dmg” contém um arquivo AppleScript compilado. Ao ser aberto, ele ativa o Script Editor da Apple, que decodifica uma string em base64 e a encaminha para o interpretador /bin/zsh -s. O processo JXA encerra-se imediatamente, deixando o zsh dropper atuar em segundo plano.

O zsh script

O novo mecanismo de decriptografia depende de uma troca de chaves criptográficas entre o malware e o servidor, onde o Data Encryption Key (DEK) só pode ser completado com a chave privada mantida no C2. Como um par de chaves efêmeras é gerado a cada execução, um DEK capturado não pode ser reutilizado, tornando o payload inútil para análise estática sem acesso a uma sessão C2 ativa.

Para persistência, o script de reparo é copiado para as pastas “post-checkout” e “pre-commit” dentro de “~/Library/Application Support/System/.githooks/”, e a configuração global do Git (git config --global core.hooksPath) é alterada para esse diretório. Assim, qualquer ação de git commit ou git checkout em qualquer repositório no sistema ativa silenciosamente o script.

O componente de coleta (stealer) foi reescrito em Swift, abandonando a linguagem Rust usada na versão anterior. Apesar dessa mudança, os objetivos permanecem os mesmos, com foco em navegadores como Arc, Zen, e navegadores regionais e focados em privacidade, ampliando o escopo de dispositivos atingidos.

Thijs Xhaflaire, pesquisador da Jamf Threat Labs, destacou que a inclusão do utilitário pkgunpack e a dependência de C2 para descriptografia refletem um investimento deliberado em infraestrutura ofensiva. Essa abordagem dificulta a análise de ameaças e transferir parte do controle operacional para o ator de código.

Mudanças Técnicas Principais:

  • Troca de chave dinâmica via C2 para descriptografia do payload.
  • Uso de engenharia social com site falso “wavel[.]app” e Wavel.dmg.
  • Adoção de zsh como vetor secundário após execução do dropper JXA.
  • Persistência via hooks do Git em diretório oculto.
  • Implementação do stealer em Swift, com foco em navegadores menos comuns.

“A versão atual do PamStealer prioriza a dinâmica de ataque, vinculando a descriptografia à disponibilidade de C2 e usando Git como mecanismo de persistência silencioso.”

Com informações de: The Hacker News (THN)