Pacotes de malware enviados para o repositório PyPI

Cuidado com 3 pacotes PyPI maliciosos direcionados ao Linux com criptomineradores
Python_logo

Um serviço que deveria ser útil para desenvolvedores vem dando dor de cabeça. Cada vez mais, os desenvolvedores estão recorrendo a repositórios e gerenciadores de pacotes para gerenciar dependências para muitos de seus projetos de programação. Assim, os usuários NodeJS têm NPM (Node Package Manager), e os usuários Python têm vários repositórios, como Conda ou PyPI (Python Package Index). Só que os hackers também acharam a ideia bem interessante e passaram a hospedar códigos maliciosos por lá. Recentemente, foi descoberto que pacotes de malware foram enviados para o repositório PyPI e já causam preocupação.

Infelizmente, além de tornar a vida muito mais fácil para muitos desenvolvedores, esses tipos de plataformas também oferecem gateways importantes para malware. Nas palavras de JFrog CTO Asaf Karas.

A descoberta contínua de pacotes de software malicioso em repositórios populares como o PyPI é uma tendência alarmante que pode levar a ataques generalizados na cadeia de abastecimento. […] Estamos enfrentando uma ameaça sistêmica.

Pacotes de malware enviados para o repositório PyPI. Oito bibliotecas retiradas do PyPI

Nesse caso, na verdade, foram os administradores do PyPI que tiveram que eliminar, ao longo desta semana, até oito bibliotecas, após serem notificados pela equipe de segurança do JFrog de que continham código malicioso.

Dois dos pacotes (pytagora e pytagora2 , carregados pelo usuário ‘leonora123’) permitiam ataques RCE (execução remota de código) conectando o computador da vítima à porta TCP 9009 e facilitando a execução de comandos maliciosos nele.

Seis outros pacotes (noblesse, genesisbot, are, sofrem, noblesse2 e noblessev2 , desenvolvidos pelos usuários ‘xin1111’ e ‘sofre’) agiram como ladrões de dados: uma vez instalados, eles coletaram dados do computador pesquisando tokens do Discord para o sistema de informação geral (Endereço IP, computador e nome de usuário, chave de licença, versão do Windows etc) …

… Mas eles também têm coletado informações sobre cartões de crédito, extraídas dos dados salvos para ‘autopreencher’ nos navegadores que instalamos.

A maioria dos pacotes neste segundo grupo são ‘vendidos’ a outros usuários como ‘otimizadores’, embora não seja muito claro o quê: no caso de ‘Noblesse’ (veja a imagem abaixo), os desenvolvedores deste pacote afirmam que é capaz de otimizar nosso código Python, pois otimiza nosso PC para executar Python.

Pacotes de malware enviados para o repositório PyPI

Além disso, grande parte de seu código real é ofuscado para o usuário que o investiga: ele foi criptografado em base64 usando ferramentas como o PyArmor. De acordo com Karas,

A capacidade dos atacantes de usar técnicas simples de ofuscação para introduzir malware significa que [tanto os mantenedores do repositório de software quanto] os desenvolvedores devem estar vigilantes.

Globalmente, os 8 pacotes maliciosos foram baixados 30.000 vezes antes de serem removidos do portal PyPI. E, infelizmente, não é a primeira vez que isso acontece: no passado, já ocorreram ataques semelhantes que buscavam roubar chaves SSH e GPG, ou instalar backdoors ocultas em sistemas Linux.

Via The Hacker News