A historia da eliminación de tres paquetes maliciosos do repositorio de NPM que copiaron o código da biblioteca UAParser.js recibiu unha continuación inesperada: atacantes descoñecidos tomaron o control da conta do autor do proxecto UAParser.js e lanzaron actualizacións que conteñen código para roubando contrasinais e minando criptomoedas.
O problema é que a biblioteca UAParser.js, que ofrece funcións para analizar a cabeceira HTTP User-Agent, ten uns 8 millóns de descargas por semana e úsase como dependencia en máis de 1200 proxectos. Indícase que UAParser.js úsase en proxectos de empresas como Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP e Verison. .
O ataque levouse a cabo pirateando a conta dun desenvolvedor do proxecto, que se decatou de que algo ía mal despois de que unha onda inusual de correo lixo chegase á súa caixa de entrada. Non se informa exactamente de como foi pirateada a conta do desenvolvedor. Os atacantes crearon as versións 0.7.29, 0.8.0 e 1.0.0, inxectando código malicioso nelas. En poucas horas, os desenvolvedores recuperaron o control do proxecto e crearon as actualizacións 0.7.30, 0.8.1 e 1.0.1, solucionando o problema. As versións maliciosas publicáronse só como paquetes no repositorio NPM. O repositorio Git do proxecto en GitHub non se viu afectado. Todos os usuarios que instalaron as versións problemáticas, tras a detección de... Linux/macOS ficheiro jsextension e en Windows jsextension.exe e create.dll, recoméndase considerar o sistema comprometido.
As modificacións maliciosas engadidas semellaban ás propostas previamente nos clons de UAParser.js, que aparentemente foron lanzados para probar a funcionalidade antes dun ataque a grande escala ao proxecto principal. Descargouse un executable jsextension desde un servidor externo e executouse no sistema do usuario. O executable jsextension seleccionouse en función da plataforma do usuario e da compatibilidade. Linux, macOS и WindowsPara a plataforma Windows Ademais do programa de minería de criptomoedas Monero (empregouse o mineiro XMRig), os atacantes tamén implementaron a biblioteca create.dll para interceptar contrasinais e envialas a un host externo.
O código de descarga engadiuse ao ficheiro preinstall.sh, no que a inserción IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ') se [ -z " $ IP" ] ... descarga e executa o ficheiro executable fi
Como se pode ver no código, o script comprobou primeiro o enderezo IP no servizo freegeoip.app e non lanzou unha aplicación maliciosa para usuarios de Rusia, Ucraína, Bielorrusia e Casaquistán.
Fonte: opennet.ru
