Os invasores conseguiram interceptar a conta do mantenedor e publicar duas versões maliciosas do pacote NPM axios, que oferece uma implementação de cliente HTTP para navegadores e Node.js. O pacote axios tem mais de 100 milhões de downloads por semana e é utilizado como dependência em 174 mil outros pacotes. As mudanças maliciosas foram integradas nas versões Axios 1.14.1 e 0.30.4 por meio da substituição de uma dependência falsa plain-crypto-js 4.2.1, que continha código para baixar componentes que recebem comandos do servidor de controle dos invasores. As versões maliciosas foram disponibilizadas para download no dia 31 de março por quase 3 horas — das 03:21 às 6:15 (MSK).
As versões maliciosas foram publicadas no NPM diretamente usando as credenciais do principal mantenedor do projeto axios ('jasonsaayman'), burlando o mecanismo padrão de publicação de novas versões baseado em GitHub Actions. Acredita-se que os atacantes conseguiram interceptar o token de acesso ao NPM do mantenedor, após o qual acessaram a conta e mudaram a vinculação para o email. Os detalhes de como o token de acesso foi interceptado não foram especificados.
O código malicioso que é executado foi colocado no pacote plain-crypto-js no arquivo setup.js, sendo ativado após a conclusão da instalação do pacote NPM através do manipulador postinstall ('postinstall: "node setup.js"') e utilizado para baixar e instalar um trojan que afeta sistemas Windows, macOS e Linux. Para ocultar sua presença, após a execução, o componente malicioso deletava o arquivo setup.js e substituía o package.json por uma versão sem o hook de postinstall. 
No macOS, o arquivo executável malicioso era baixado como '\/Library\/Caches\/com.apple.act.mond', no Windows — '%PROGRAMDATA%\\wt.exe', no Linux — '\/tmp\/ld.py'. Após a ativação no Linux e no macOS, a cada 60 segundos, um pedido de comando era enviado para os atacantes, a fim de execução no sistema comprometido, os quais podiam ser usados para baixar componentes maliciosos adicionais, executar comandos shell arbitrários e procurar\/enviar arquivos específicos. servidor A atividade maliciosa no Linux e macOS não previa a manutenção da presença após a reinicialização e era destinada à coleta rápida de dados confidenciais, senhas, tokens e chaves de acesso. No Windows, era criado um arquivo '%PROGRAMDATA%\\system.bat', que extraía o componente malicioso dos invasores a cada entrada no sistema.
A atividade maliciosa no Linux e macOS não previa a manutenção da presença após a reinicialização e era destinada à coleta rápida de dados confidenciais, senhas, tokens e chaves de acesso. No Windows, era criado um arquivo '%PROGRAMDATA%\\system.bat', que extraía o componente malicioso dos invasores a cada entrada no sistema. servidor O componente malicioso que os atacantes usavam era baixado na cada entrada no sistema.
Fonte: opennet.ru
