Nova variante do PamStealer usa troca X25519 ao vivo para decifrar a carga útil

Autor: Publicada 6 min de lectura 12 leituras

As imagens deste artigo foram geradas com inteligência artificial. Como publicamos

Pesquisadores de cibersegurança identificaram uma nova variante de PamStealer que muda sua cadeia de entrega e adiciona uma barreira criptográfica que impede de recuperar sua carga útil sem a colaboração do servidor de controle. De acordo com a análise publicada por Jamf Threat Labs e comentada pelo investigador Thijs Xhaflaire, os atacantes mantêm o uso de um dropper baseado em JavaScript for Automation (JXA) mas agora o usam apenas como um veículo para lançar um programa de shell que realiza uma troca de chaves ao vivo com um servidor remoto e descarrega um utilitário chamado "pkgunpack" que completa a decifração do payload. Esses fatos estão documentados pelos pesquisadores e são a base confirmada do que segue.

Tecnicamente, a cadeia de infecção relatada funciona em várias fases. Primeiro, a vítima é atraída para um site falso —wavel[.]app — que oferece um suposto carteira de criptomoedas chamado Wavel. Ao carregar "Download for macOS" é obtido um ficheiro Wavel.dmg que contém um AppleScript compilado; ao abri-lo, o Script Editor executa um fragmento de JXA que descodifica uma cadeia de base64 e a redeirige a /bin/zsh. Esse zsh descodificado continua em segundo plano e realiza três ações críticas: download e executa "pkgunpack" desde wavel.apple03cloudstore[.]com, realiza uma troca de chaves X25519 com o servidor para obter a chave de decifra (DEK) e finalmente decifra e exibe o pacote final do malware.

Nova variante do PamStealer usa troca X25519 ao vivo para decifrar a carga útil
Imagem gerada com IA.

A novidade técnica crucial É o uso de uma troca de chaves assimétrico (X25519) que vincula a capacidade de decifrar a cooperação do servidor remoto. Porque o servidor conserva a chave privada necessária para completar a troca, um analista que capture o arquivo encriptado não poderá recuperar o DEK nem o conteúdo do payload de forma estática. Além disso, os atacantes geram um par de chaves efêmero em cada execução, o que evita que um valor DEK capturado numa execução prévia seja reutilizado para decifrar outra instância. Em termos criptográficos, isso torna a amostra significativamente mais difícil de analisar sem acesso a uma sessão de comando e controle ao vivo; para entender X25519, você pode consultar o RFC correspondente: RFC 7748 (X25519).

Em paralelo com a proteção criptográfica, os operadores reforçaram a persistência e a resiliência da implantação. O instalador cria quatro métodos redundantes de persistência, suprime notificações do macOS que alertam sobre novos elementos de início de sessão, instala um programa de reparação que restaura tanto o bundle malicioso como o LaunchAgent em caso de remoção e adiciona uma linha ao arquivo ~/.zshrc para executar o programa de reparação em cada nova sessão interativa de zsh. Além disso, o programa de reparação é copiado para ~/Library/Application Support/System/.githooks/ e configura-se globalmente como rota de ganchos de Git (git config --global core.hooksPath), de modo que qualquer operação de git (checkout, commit) em qualquer repositório ativo na máquina irá executar silenciosamente esse script.

O último passo é a execução do componente ladrão escrito em Swift (uma mudança em relação a versões anteriores implementadas em Rust). Este binário recolhe senhas — incluindo a técnica de mostrar uma falsa janela de falha para persuadir a vítima a introduzir a sua senha, que depois valida por PAM — enumera elementos do chaveiro, rouba credenciais de navegadores (uma lista extensa que inclui tanto navegadores populares como alternativas menos comuns: Chrome, Edge, Firefox, Brave, Vivaldi, Opera, Arc, Zen, LibreWolf e outros), recolhe histórico e arquivos de configuração do usuário (.zsh_history, .zshrc, .bash_history, .gitconfig), foto de perfil, processos em execução e inventário de aplicações. Esses comportamentos de exfiltração estão descritos pelos pesquisadores e representam o objetivo operacional do malware.

Quem afeta? Principalmente usuários do macOS que descarregam e instalam software fora de canais oficiais ou que desconfiam de sinais de segurança (apps não assinadas, DMG não notarizados). A inclusão explícita de navegadores menos comuns e orientados para a privacidade (Arc, Zen, LibreWolf) sugere que os operadores procuram uma diversidade de vítimas, incluindo pessoas que poderiam considerar que usam alternativas "mais seguras". Também ficam em risco desenvolvedores e repositórios locais, porque a manipulação de core.hooksPath converte qualquer operação de git em um vetor de reativação.

Conseqüências práticas: a nova arquitetura aumenta a dificuldade para as equipes de resposta e análise: sem uma sessão C2 ativa não se pode obter o payload decifrado para sua análise estática, pelo que a detecção deve pivotar sinais dinâmicas e de rede. A persistência oculta em git hooks e em ~/.zshrc aumenta a probabilidade de reinfeção ou restauração do malware após uma eliminação inicial. Além disso, o roubo de senhas, chaveiro e dados de navegador tem implicações imediatas de suplantação de contas, acesso a serviços financeiros e fuga de segredos de desenvolvimento (tokens, chaves armazenadas em .gitconfig ou repositórios locais).

Dados confirmados diante de incertezas: é um fato confirmado por Jamf Threat Labs e o pesquisador citado que a amostra incorpora o intercâmbio X25519, o uso de pkgunpack remoto e as técnicas de persistência descritas. É uma estimativa razoável, mas não confirmada publicamente, o alcance da campanha (número de vítimas e se o C2 continuar operacional neste momento). Também não há, até onde informam os pesquisadores, atribuição firme sobre quem opera a infraestrutura; essa conexão é incerta e requer mais investigação forense e correlação de inteligência.

Nova variante do PamStealer usa troca X25519 ao vivo para decifrar a carga útil
Imagem gerada com IA.

Medidas concretas que todo usuário e administrador do macOS deve tomar imediatamente: não montar ou executar DMG ou binários de origem não verificados; verificar se existem os artefatos mencionados (por exemplo procurar ~/Library/Application Support/System/.githooks, inspecionar ~/.zshrc em busca de hooks adicionados e revisar LaunchAgents recentes); auditar a configuração global do Git com git config --global --list para detectar core.hooksPath invulgar; revisar elementos de início de sessão do sistema (Preferencias do Sistema → Usuários e Grupos → itens de início) e verificar processos e conexões de rede suspeitas para domínios como wavel.apple03cloudstore[.]com. Usuários avançados e equipamentos de resposta podem empregar EDR ou ferramentas de monitoramento de rede para bloquear e registrar conexões a domínios associados e capturar tráfego para análise.

Além disso, e de forma preventiva: ativar o Gatekeeper e exigir apps notarizados, manter o macOS e software de segurança atualizados, mudar senhas sensíveis e revogar credenciais que poderiam ter sido expostas (especialmente se houver suspeita de ter aberto o DMG), e ativar 2FA onde possível. Se a presença dos artefatos descritos for detectada, considere desligar a máquina da rede para impedir exfiltração e contactar a sua equipe de resposta ou fornecedor forense. Para entender as técnicas de persistência e como se mapeariam marcos de ameaças, o MITRE ATT&CK (por exemplo, a técnica de Launch Agents): MITRE ATT&CK - Launch Agent.

Finalmente, é importante que as equipes de detecção e resposta ajustem suas regras para buscar os padrões de comportamento: execução de Script Editor que invoca JXA que decodifica e canaliza zsh, downloads de domínios não habituais, criação de rotas globais de hooks de Git e modificação de ~/.zshrc. Como a encriptação ao vivo limita a análise estática, as melhores oportunidades para entender e mitigar a ameaça passam pela identificação precoce da fase de entrega e pela captura de tráfego de rede em tempo real. Para aqueles que investigam técnicas de troca de chaves e seu envolvimento em malware, o padrão X25519 é um bom ponto de referência técnico: RFC 7748 (X25519).

Cobertura

Relacionadas

Mas notícias do mesmo assunto.