A popular biblioteca UA-Parser-JS NPM foi sequestrada por hackers, com milhões de downloads por semana, para poder infectar dispositivos Windows e Linux com criptomineradores e cavalos de Troia para conseguir roubar senhas fazendo um ataque a cadeia de suprimentos.
UA-Parser-JS é utilizada para analisar o agente do usuário de um navegador, mecanismo, sistema operacional, CUP e modelo/tipo de dispositivo de um visitante. Essa biblioteca é muito popular, com milhões de downloads por semana e mais de 24 milhões downloads neste mês. Ela é utilizada em mais de mil outros projetos, incluindo os do Facebook, Microsoft, Amazon, Instagram, Google, Slack, Mozilla, Discord, Elastic, Intuit, Reddit e muitas outras empresas conhecidas.
Em outubro no dia 22, um agente de ameças publicou versões maliciosas da biblioteca UA-Parser-JS NPM poder. Conforme o desenvolvedor, sua conta NPM foi sequestrada e usada para implantar as três versões maliciosas da biblioteca.
Desenvolvedor do UA-Parser- JS, em um relatório de bug, Faisal Salman explicou“Percebi algo incomum quando meu e-mail foi repentinamente inundado por spams de centenas de sites (talvez não tenha percebido que algo estava acontecendo, felizmente o efeito é bem o contrário)”.
“Eu acredito que alguém estava sequestrando minha conta npm e publicado alguns pacotes comprometida ( 0.7.29, 0.8.0, 1.0.0) que provavelmente irá instalar malware como pode ser visto a partir do diff aqui: https://app.renovatebot.com/package-diff?name=ua- parser-js & from = 0.7.28 & to = 1.0.0 . ”
As versões afetadas e suas contrapartes corrigidas são:
Versão maliciosa Versão fixa
0.7.29 0.7.30
0.8.0 0.8.1
1.0.0 1.0.1
A partir das cópias dos NPMs maliciosos compartilhados com o BleepingComputer da Sonatype, podemos entender melhor o ataque.
os pacotes comprometidos quando são instalados em um dispositivo, o script preinstall.js verifica o tipo de sistema operacional que está sendo usado no dispositivo e inicia um script de shell do Linux ou um arquivo de lote do Windows.
Se o pacote estiver em um dispositivo Linux, um script preinstall.sh será executado para verificar se o usuário está localizado na Rússia, Ucrânia, Bielo-Rússia e Cazaquistão. Se não estiver localizado nesses países, o script fará o download do programa jsextension [ VirusTotal ] de 159 [.] 148 [.] 186 [.] 228 e o executará.
O jsextension é um minerador XMRig Monero, que usará apenas 50% da CPU do dispositivo para evitar ser facilmente detectado.
Já nos dispositivos Windows, o arquivo em lote efetuará também o download do criptominer XMRig Monero e o salvará como jsextension.exe [ VirusTotal ] e o executará. Além disso, o arquivo em lote fará o download de um arquivo sdd.dll [ VirusTotal ] de citationsherbe [.] Em e o salvará como create.dll.
A DLL faz dowload de um trojan para roubo de senhas (possivelmente DanaBot ) que tentará roubar as senhas armazenadas no dispositivo.
Quando a DLL é carregada usando o regsvr32.exe -s create.dllcomando, ela tenta roubar senhas para uma ampla variedade de programas, incluindo clientes FTP, VNC, software de mensagens, clientes de e-mail e navegadores. Além de roubar senhas dos programas acima, a DLL executa um script do PowerShell para roubar senhas do gerenciador de credenciais do Windows.
Este ataque parece ter sido conduzido pelo mesmo agente de ameaças por trás de outras bibliotecas NPM maliciosas descobertas.
Pesquisadores da empresa de segurança de código aberto Sonatype descobriram três bibliotecas NPM maliciosas utilizadas para implantar criptomineradores em dispositivos Linux e Windows de forma quase idêntica.
Devido ao impacto generalizado desse ataque à cadeia de suprimentos, é altamente recomendável que todos os usuários da biblioteca UA-Parser-JS verifiquem seus projetos em busca de software malicioso. Inclui nisso verificar a existência de jsextension.exe (Windows) ou jsextension (Linux) e excluí-los, se encontrados.
Para usuários do Windows, você deve examinar seu dispositivo em busca de um arquivo create.dll e excluí-lo imediatamente.
Embora apenas o Windows tenha sido infectado com um Trojan que rouba senhas, é sensato que os usuários do Linux também presumam que seu dispositivo foi totalmente comprometido.
Devido a isso, todos os usuários de Linux e Windows infectados devem alterar suas senhas, chaves e tokens de atualização, pois eles provavelmente foram comprometidos e enviados ao agente da ameaça.
Alterar suas senhas e tokens de acesso provavelmente seja um grande procedimento, mas, ao não fazer isso, o agente da ameaça pode comprometer outras contas, incluindo quaisquer projetos que você desenvolver para futuros ataques à cadeia de suprimentos.