Perigo oculto: malware explora seus pacotes Python e NPM para atacar Windows e Linux

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Análise detalhada do ataque à cadeia de suprimentos que usou typosquatting em pacotes Python e NPM para infectar Windows e Linux com backdoors!

No intrincado mundo do desenvolvimento de software, a conveniência de utilizar pacotes de código aberto vem com um custo: a exposição a ataques à cadeia de suprimentos de software. Recentemente, pesquisadores da Checkmarx Zero desvendaram uma campanha de malware que eleva a sofisticação dessas ameaças, mirando desenvolvedores e usuários de Python e NPM em sistemas Windows e Linux com táticas inovadoras.

Essa campanha representa um caso emblemático de typosquatting e confusão intencional de nomes, com payloads projetados para instalar backdoors ocultos nos sistemas das vítimas. Esses códigos maliciosos têm como objetivo o roubo de dados sensíveis e o controle remoto persistente dos dispositivos infectados, atingindo desde ambientes de desenvolvimento até servidores de produção.

Embora a notícia tenha sido publicada em 28 de maio de 2025, o foco deste artigo não é um alerta pontual, mas sim uma análise profunda do ataque — uma verdadeira lição sobre a evolução das ameaças e os cuidados essenciais para garantir a segurança da cadeia de suprimentos de software. Este estudo de caso fornece insights preciosos para desenvolvedores, equipes de segurança, administradores de sistemas e até mesmo usuários iniciantes no Linux.

Anatomia do ataque: typosquatting e iscas “cross-ecosystem”

Typosquatting e a confusão de nomes no PyPI e NPM

O typosquatting é uma técnica em que criminosos registram pacotes com nomes semelhantes aos de projetos legítimos, apostando em erros de digitação comuns. Por exemplo, ao invés de instalar o confiável **colorama**, um desenvolvedor distraído pode acabar digitando **colorma** — instalando assim um pacote malicioso.

Nesse ataque, os criminosos visaram o colorama (usado para colorir saídas de terminal em Python) e o colorizr (utilizado para fins semelhantes no JavaScript, via NPM). A escolha desses nomes não foi aleatória: eles são populares e frequentemente utilizados, o que aumenta a chance de enganos por parte dos usuários.

A tática “cross-ecosystem”: inovação no engano

O diferencial deste ataque foi o uso da tática de confusão entre ecossistemas: nomes de pacotes do NPM foram usados para publicar malware no PyPI, e vice-versa. É como usar iscas de rio para pescar no mar — uma estratégia incomum que demonstra o nível de sofisticação da ameaça.

Essa abordagem visa induzir confusão deliberada entre desenvolvedores que atuam em múltiplas linguagens ou que apenas reconhecem nomes familiares. Trata-se de uma inovação perigosa que pode abrir precedentes para ataques ainda mais amplos nos principais repositórios de pacotes open source.

O payload: backdoors multiplataforma para controle e exfiltração

Objetivos comuns dos backdoors

Tanto nos ambientes Windows quanto Linux, os backdoors tinham dois objetivos principais:

  • Acesso persistente: permitindo que os invasores retornem ao sistema a qualquer momento, mesmo após reinicializações ou atualizações.
  • Roubo de dados sensíveis: extraindo variáveis de ambiente, credenciais, informações de configuração e segredos de API para posterior exfiltração.

Para iniciantes: um backdoor é como uma porta secreta instalada por criminosos para acessar seu sistema sem que você perceba.

Especificidades dos payloads para Windows

No ambiente Windows, os malwares empregavam táticas bem elaboradas:

  • Persistência via Task Scheduler: criação de tarefas automatizadas para reinstalar os componentes do malware.
  • Coleta de variáveis de ambiente através do registro do sistema, acessando informações sensíveis.
Evasão de antivírus

Os atacantes integraram comandos específicos de evasão:

  • **MpCmdRun.exe -RemoveDefinitions -All**: remove as definições do Windows Defender.
  • **Set-MpPreference -DisableIOAVProtection $true**: desativa o escaneamento de entrada/saída via PowerShell.
Integração com GitHub

A Checkmarx Zero identificou que parte do código estava vinculado ao repositório GitHub github.com/s7bhme, que hospedava executáveis maliciosos e um template de projeto em Python com alterações nocivas.

A sofisticação dos backdoors para Linux

No caso do Linux, os malwares apresentavam um nível avançado de furtividade:

  • Payloads codificados em base64 dentro de arquivos como src/colorizator/__init__.py. Para iniciantes: base64 é uma forma de disfarçar código como se fosse texto comum.
Cadeia de infecção no Linux
  1. RSA Key Drop: gravação de uma chave pública em /tmp/pub.pem para criptografar dados. Para iniciantes: é como trancar dados com uma chave que só o criminoso pode abrir.
  2. Download remoto de script Bash, que instala a ferramenta gs-netcat — usada para criar reverse shells criptografadas. Reverse shell: seu computador liga para o invasor, permitindo acesso.
  3. Exfiltração criptografada: os dados são criptografados, codificados e enviados para o Pastebin usando API keys válidas.
  4. Limpeza: os arquivos temporários são removidos para apagar vestígios.
Um “canivete suíço” de acesso remoto

O script incluía funcionalidades de:

  • Persistência via Systemd, edição de rc.local, crontabs e perfis de shell. Garante que o malware continue ativo mesmo após reinicializações.
  • Furtividade: o processo se disfarça como componentes do kernel e preserva timestamps.
  • Webhook notifications: envio de notificações automáticas para plataformas como Telegram, Discord ou URLs arbitrárias.
  • Controle remoto: configurável por meio de variáveis de ambiente, sem necessidade de reconfiguração explícita.

Esse não é um malware comum — é uma ferramenta de invasão profissional, fora do alcance de script kiddies.

Indicadores de comprometimento (IoCs): sinais de alerta

Os IoCs (Indicators of Compromise) ajudam analistas e sysadmins a identificar se seus sistemas foram afetados. Veja os principais divulgados pela Checkmarx:

  • GitHub malicioso: https://github.com/s7bhme
  • URL de Webhook usada para controle: https://webhook.site/dc3c1af9-ea3d-4401-9158-eb6dda735276
  • Usuários maliciosos no PyPI e NPM: rick_grimes, morty_smith, reven, m5tl, dsss
  • Hashes SHA256:
    • Linux: d30c78c64985a42c34ef142fd8754a776c8db81228bafc385c5bd429252e4612
    • Windows: daef5255eac4a4d16940e424c97492c6bad8fdafd2420632c371b9d18df3b47f

Esses dados devem ser utilizados para verificações em logs, monitoramento de tráfego e auditorias de código.

Atribuição e evolução: o desafio da inteligência de ameaças

Inicialmente, os analistas suspeitaram que todos os pacotes vinham de um único grupo atacante. No entanto, diferenças nas ferramentas, infraestrutura e estilo de codificação levantaram dúvidas.

A Checkmarx Zero não conseguiu estabelecer uma atribuição definitiva, sugerindo que pode haver vários atores explorando a mesma tática de typosquatting em paralelo. Isso é preocupante: mostra como as técnicas se propagam rapidamente no submundo da cibercriminalidade.

Recomendações de segurança: protegendo sua cadeia de suprimentos

Exame rigoroso de código e repositórios

  • Analise cada pacote e dependência em seus repositórios.
  • Evite repositórios suspeitos e mantenha uma lista de bloqueio.
  • Verifique proxies privados como Artifactory, que podem estar armazenando pacotes infectados.

Proteção em ambientes de desenvolvimento e teste

  • Restrinja instalações automáticas de pacotes em máquinas de desenvolvedores.
  • Eduque sua equipe sobre os perigos de instalar pacotes sem verificação.

Para iniciantes no Linux: sempre use repositórios oficiais, confira os checksums (hashes) dos arquivos baixados e evite pacotes com nomes ligeiramente diferentes dos que você procura.

Essas são práticas indispensáveis para manter a segurança da cadeia de suprimentos de software de código aberto.

Conclusão: a vigilância constante é a melhor defesa

A campanha analisada pela Checkmarx Zero é um marco na evolução dos ataques à cadeia de suprimentos de software. Ao explorar engenharia social, táticas inter-ecossistema e malwares avançados multiplataforma, os atacantes elevaram o nível da ameaça.

Para desenvolvedores, administradores e profissionais de segurança, a lição é clara: validar a origem de cada pacote e manter práticas rigorosas de segurança é a única forma de se proteger.

Mantenha-se alerta. Mantenha-se seguro. Mantenha-se atualizado com o SempreUpdate.

Compartilhe este artigo