
A campanha Contagious Interview continua abusando de fluxos de recrutamento e exercícios de programação para instalar malware com roubo de credenciais, captura de tela, keylogging e acesso remoto.
| Componente | Registro npm, pacotes JavaScript maliciosos, malware OtterCookie e cadeia relacionada com GolangGhost |
| Vetor | 197 pacotes npm adicionais e sites falsos de avaliação técnica usados em processos fraudulentos de recrutamento |
| Impacto | Perfilamento de máquina, evasão de sandbox, canal C2, shell remota, captura de clipboard, teclas, telas, credenciais de navegador, documentos, carteiras de criptomoedas e frases-semente |
| Prioridade | Auditar dependências npm recentes, revisar exercícios de contratação recebidos de fontes externas e investigar telemetria de endpoint associada a prompts falsos de navegador |
| Artefatos | Pacotes npm maliciosos, páginas falsas de avaliação, instruções estilo ClickFix, aplicativo isca, LaunchAgent no macOS, script acionado no login e envio de dados para conta Dropbox |
| Persistência | Na cadeia GolangGhost, a persistência ocorre por LaunchAgent do macOS que executa um script automaticamente quando o usuário faz login |
Operadores norte-coreanos associados à campanha Contagious Interview continuaram a ampliar o abuso do ecossistema npm com mais 197 pacotes maliciosos desde o mês anterior à publicação. A atividade usa a confiança operacional de desenvolvedores em dependências JavaScript e em desafios técnicos de contratação para aproximar a vítima de código aparentemente legítimo. O objetivo técnico descrito é instalar uma versão atualizada do malware OtterCookie, que executa reconhecimento do ambiente, tenta identificar sandbox ou máquina virtual e abre um canal de comando e controle para controle remoto do sistema comprometido.
A campanha não se limita ao registro npm. O mesmo conjunto de atividades também envolve sites falsos de avaliação técnica que usam instruções no estilo ClickFix sob a justificativa de corrigir problemas de câmera ou microfone. Essa frente, rastreada como ClickFake Interview, entrega malware chamado GolangGhost, também conhecido como FlexibleFerret ou WeaselStore. A convergência entre pacotes maliciosos, tarefas de programação e plataformas fraudulentas de contratação transforma o fluxo de candidatura em vetor de execução, sem depender de uma exploração de vulnerabilidade específica descrita no material recebido.
A cadeia ligada ao OtterCookie começa no contato com artefatos de desenvolvimento, principalmente pacotes npm publicados com finalidade maliciosa. Uma vez iniciado, o malware tenta reduzir a chance de análise automatizada por meio de evasão de sandbox e máquinas virtuais. Em seguida, coleta características do sistema para montar um perfil do host e estabelece comunicação com infraestrutura C2. O acesso remoto fornecido aos operadores inclui shell remota e funções de coleta voltadas a credenciais, documentos e informações de alto valor para usuários técnicos.
As capacidades observadas incluem captura de conteúdo da área de transferência, registro de teclas, screenshots, coleta de credenciais de navegador, documentos, dados de carteiras de criptomoedas e frases-semente. Esse conjunto de funções indica foco em contas, ativos financeiros digitais e material sensível armazenado em estáções de trabalho de desenvolvedores. O ponto defensivo central é que a atividade descrita não exige necessariamente privilégio elevado para gerar impacto: credenciais, sessões de navegador, documentos locais e entradas digitadas podem ser capturados quando o usuário executa o artefato dentro do próprio ambiente de trabalho.
Na cadeia ClickFake Interview, o malware GolangGhost é escrito em Go e se comunica com um servidor C2 definido no binário. Após a comunicação inicial, ele entra em um ciclo persistente de processamento de comandos. As funções descritas incluem coleta de informações do sistema, upload e download de arquivos, execução de comandos do sistema operacional e coleta de dados do Google Chrome. O material também descreve uma persistência em macOS por meio de LaunchAgent que aciona um script no login, mantendo a execução após reinicialização ou nova sessão do usuário.
A engenharia social complementa a execução técnica. Um aplicativo isca exibe uma falsa solicitação de acesso à câmera no estilo Chrome para sustentar a narrativa de problema audiovisual durante a avaliação. Depois, apresenta um prompt de senha também com aparência de Chrome, captura o conteúdo inserido pelo usuário e envia essas informações para uma conta Dropbox. Esse fluxo mostra que a campanha combina malware convencional, abuso de interface e fraude de recrutamento para capturar credenciais sem depender apenas de exploração binária.
A superfície mais exposta envolve desenvolvedores, candidatos a vagas técnicas, profissionais que recebem exercícios de programação e ambientes que executam dependências npm sem revisão suficiente. O risco também se estende a máquinas usadas para desenvolvimento de aplicações relacionadas a criptoativos, porque a coleta descrita mira carteiras, frases-semente e credenciais armazenadas em navegador. O abuso do npm amplia o alcance, já que um pacote malicioso pode ser introduzido durante testes, revisões de código, desafios de entrevista ou projetos temporários criados para avaliação.
Ambientes macOS aparecem de forma relevante na cadeia GolangGhost devido ao uso de LaunchAgent para persistência. Isso não significa que todo o conjunto da campanha esteja limitado a macOS, mas o mecanismo descrito exige atenção específica em estáções Apple usadas por desenvolvedores. Também entram na superfície afetada navegadores Google Chrome, áreas de transferência, documentos locais, fluxos de autenticação digitados em prompts falsos e contas de armazenamento externas usadas para receber dados capturados.
- Desenvolvedores que instalam pacotes npm recebidos em desafios de contratação ou exercícios externos
- Estáções de trabalho com documentos, credenciais de navegador, carteiras de criptomoedas ou frases-semente armazenadas localmente
- Ambientes macOS onde LaunchAgents novos ou incomuns aparecem associados a scripts executados no login
- Usuários expostos a sites falsos de avaliação técnica que alegam problemas de câmera ou microfone
A investigação deve começar pela cadeia de dependências e pela linha do tempo de instalação de pacotes. Como o material descreve 197 pacotes npm adicionais, a defesa deve comparar dependências recentes, diretórios temporários de projetos de entrevista, caches de gerenciadores de pacotes e artefatos criados em torno de exercícios técnicos recebidos de terceiros. A ausência de nomes de pacotes específicos no material recebido impede uma lista precisa de indicadores, portanto a triagem deve priorizar comportamento: execução pós-instalação, processos inesperados originados de projetos npm e comunicação externa logo após a instalação ou execução de código de avaliação.
No endpoint, sinais relevantes incluem processos que tentam coletar informações do sistema, acessar dados do Chrome, ler conteúdo de clipboard, capturar screenshots ou monitorar entradas de teclado. No macOS, a criação de LaunchAgents próximos ao momento da execução de um desafio técnico é um evento de alto valor para correlação. Também devem ser revisados scripts acionados no login, binários Go não reconhecidos, aplicativos isca que simulam prompts do Chrome e tráfego para serviços externos logo após prompts de senha incomuns.
Em rede, a comunicação C2 descrita deve ser investigada por padrões de beaconing, conexões originadas de processos incomuns e transferências de arquivos em sequência após a execução de aplicações baixadas de plataformas de avaliação. O uso de Dropbox como destino de dados capturados na cadeia do prompt falso exige cuidado adicional: o serviço pode ser legítimo no ambiente, então a detecção deve combinar destino, processo de origem, horário, volume, nome do binário e proximidade com eventos de interface suspeitos, em vez de bloquear ou alertar apenas pelo domínio do serviço.
- Instalação de pacotes npm em projetos temporários de entrevista seguida por execução de processos inesperados
- Tentativas de leitura de credenciais do Google Chrome, clipboard, documentos, screenshots ou entradas de teclado
- Criação ou alteração de LaunchAgents no macOS associada a scripts executados no login
- Aplicativos que exibem prompts falsos de câmera, microfone ou senha com aparência de Chrome
- Comunicação externa iniciada por binários Go ou por processos derivados de exercícios de programação
A resposta deve tratar exercícios de contratação e dependências de origem externa como código não confiável. O primeiro controle é executar avaliações técnicas recebidas de terceiros em ambiente isolado, sem credenciais reais, sem carteiras de criptomoedas, sem documentos pessoais e sem sessão de navegador reutilizada. Projetos temporários devem ser separados do ambiente principal de desenvolvimento, e a instalação de dependências deve passar por revisão de manifesto, lockfile e scripts de ciclo de vida antes da execução.
Para organizações, a mitigação passa por controle de execução, inventário de dependências e endurecimento de estáções de desenvolvimento. Scripts automáticos em pacotes npm devem ser monitorados, e endpoints de desenvolvedores precisam gerar telemetria para criação de persistência, acesso a dados de navegador e processos que executam comandos do sistema operacional a partir de diretórios de projeto. Em macOS, LaunchAgents recém-criados devem ser correlacionados com downloads, execução de desafios técnicos e aplicativos desconhecidos. Onde houver suspeita de coleta de credenciais, a rotação deve incluir contas acessadas no navegador, tokens armazenados localmente e segredos usados em pipelines ou repositórios.
A contenção deve remover os artefatos maliciosos, interromper processos associados, preservar amostras e logs para análise interna e revisar qualquer acesso feito a partir da estáção comprometida. Como a campanha mira fluxos de recrutamento, equipes de segurança e engenharia devem alinhar um procedimento para validar empresas, domínios de avaliação e instruções recebidas durante entrevistas. Qualquer solicitação para corrigir áudio ou vídeo por meio de instruções manuais fora do fluxo normal do navegador deve ser tratada como sinal de risco, especialmente quando acompanhada de download de aplicativo ou execução de código.
- Executar desafios de programação externos em ambiente isolado, sem credenciais, documentos sensíveis ou carteiras de criptomoedas
- Revisar
package.json, lockfiles, dependências recém-adicionadas e scripts automáticos antes de qualquer execução - Monitorar criação de LaunchAgents, acesso a dados do Chrome, captura de tela, leitura de clipboard e processos originados de diretórios npm
- Rotacionar credenciais, tokens e segredos se houver indício de execução do malware ou captura de prompts
- Validar plataformas de recrutamento e recusar instruções que simulem correção de câmera, microfone ou senha por meios incomuns
0 Comentários