O pacote NPM UAParser.js, que tem 8 milhões de downloads por semana, é injetado com malware.

A história da remoção do repositório NPM de três pacotes maliciosos que copiavam o código da biblioteca UAParser.js recebeu uma continuação inesperada - invasores desconhecidos assumiram o controle da conta do autor do projeto UAParser.js e lançaram atualizações contendo código para roubar senhas e minerar criptomoedas.

O problema é que a biblioteca UAParser.js, que oferece funções para análise do cabeçalho HTTP User-Agent, tem cerca de 8 milhões de downloads por semana e é usada como dependência em mais de 1200 projetos. Afirma-se que UAParser.js é usado em projetos de empresas como Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP e Verison .

O ataque foi realizado por meio da invasão da conta do desenvolvedor do projeto, que percebeu que algo estava errado após uma onda incomum de spam cair em sua caixa de correio. Não foi relatado exatamente como a conta do desenvolvedor foi hackeada. Os invasores criaram as versões 0.7.29, 0.8.0 e 1.0.0, introduzindo nelas código malicioso. Em poucas horas, os desenvolvedores recuperaram o controle do projeto e criaram as atualizações 0.7.30, 0.8.1 e 1.0.1 para corrigir o problema. Versões maliciosas foram publicadas apenas como pacotes no repositório NPM. O repositório Git do projeto no GitHub não foi afetado. Todos os usuários que instalaram versões problemáticas, se encontrarem o arquivo jsextension no Linux/macOS, e os arquivos jsextension.exe e create.dll no Windows, são aconselhados a considerar o sistema comprometido.

As alterações maliciosas adicionadas lembram as alterações propostas anteriormente em clones do UAParser.js, que pareciam ter sido lançados para testar a funcionalidade antes de lançar um ataque em grande escala ao projeto principal. O arquivo executável jsextension foi baixado e iniciado no sistema do usuário a partir de um host externo, que foi selecionado dependendo da plataforma do usuário e do trabalho compatível em Linux, macOS e Windows. Para a plataforma Windows, além do programa de mineração da criptomoeda Monero (foi utilizado o minerador XMRig), os invasores também organizaram a introdução da biblioteca create.dll para interceptar senhas e enviá-las para um host externo.

O código de download foi adicionado ao arquivo preinstall.sh, no qual o insert IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z " $ IP" ] ... baixe e execute o arquivo executável fi

Como pode ser visto no código, o script primeiro verificou o endereço IP no serviço freegeoip.app e não lançou um aplicativo malicioso para usuários da Rússia, Ucrânia, Bielo-Rússia e Cazaquistão.

Fonte: opennet.ru

Adicionar um comentário