No pacote NPM UAParser.js, que tem 8 milhões de downloads por semana, foi inserto um malware

A história sobre a remoção de três pacotes maliciosos do repositório NPM, que copiavam o código da biblioteca UAParser.js, teve um desdobramento inesperado — criminosos desconhecidos assumiram o controle da conta do autor do projeto UAParser.js e lançaram atualizações que continham código para roubo de senhas e mineração de criptomoedas.

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

O ataque foi realizado através do comprometimento da conta do desenvolvedor do projeto, que percebeu que algo estava errado depois de uma onda incomum de spam que inundou sua caixa de entrada. Não foi revelado como a conta do desenvolvedor foi comprometida. Os atacantes criaram as versões 0.7.29, 0.8.0 e 1.0.0, inserindo nelas código malicioso. Em algumas 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. As versões maliciosas foram publicadas apenas na forma de pacotes no repositório NPM. O repositório Git do projeto no GitHub não foi afetado. Todos os usuários que instalaram as versões problemáticas, ao encontrarem no Linux/macOS o arquivo jsextension e, no Windows, os arquivos jsextension.exe e create.dll, são aconselhados a considerar o sistema comprometido.

As alterações maliciosas adicionadas lembravam mudanças anteriormente sugeridas em clones da UAParser.js, que, aparentemente, foram lançadas para testar a funcionalidade antes de um ataque em larga escala ao projeto principal. Um executável jsextension era carregado e executado no sistema do usuário a partir de um host externo, sendo selecionado dependendo da plataforma do usuário, e suportava operações em Linux, macOS e Windows. Para a plataforma Windows, além do software para mineração de criptomoedas Monero (usou o minerador XMRig), os criminosos também organizaram a injeção da biblioteca create.dll para interceptar senhas e enviá-las a um host externo.

O código de upload foi adicionado ao arquivo preinstall.sh, onde foi incluído IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') if [ -z "$IP" ] … upload e execução do arquivo executável fi

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

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster