Investigadores de seguridad han identificado casi 800 paquetes en el registro de npm que parecen formar parte de una campaña de distribución de malware de acceso remoto y herramientas de robo de información para sistemas Windows, macOS y Linux.
Según el investigador de OpenSourceMalware Paul McCarty, los paquetes utilizan una combinación de nombres basados en errores tipográficos, generados aleatoriamente y creados mediante inteligencia artificial. En lugar de depender de scripts del ciclo de vida de npm, como preinstall o postinstall, los paquetes indican a los desarrolladores que los importen mediante la función require() de JavaScript, lo que permite que el código malicioso se ejecute cuando se carga el módulo.
El componente inicial, identificado como WEL1DROPPER, determina el sistema operativo y la arquitectura del procesador del equipo antes de recuperar una carga útil compatible. Su infraestructura principal de descarga utiliza varios Workers de Cloudflare. Si esas solicitudes fallan, el malware puede usar registros TXT de DNS asociados al dominio wel1[.]ru para reconstruir una carga útil a partir de varios fragmentos codificados en Base64.
Capacidades específicas de cada plataforma
- Según los informes, el malware para Windows interfiere con la monitorización de ETW y AMSI, comprueba si se ejecuta en entornos virtualizados o aislados, establece persistencia mediante una clave Run del Registro y una tarea programada, y recupera un ejecutable cifrado.
- La variante para macOS realiza comprobaciones contra el análisis, establece un LaunchAgent y descarga un binario independiente, con la posibilidad de utilizar la distribución basada en DNS como mecanismo de respaldo.
- La muestra para Linux es un ejecutable ELF empaquetado con UPX que puede descargar componentes adicionales y, en última instancia, desplegar Sliver, un framework de código abierto para comando y control.
Los investigadores también encontraron un archivo llamado lib/telemetry.js. Aunque se parece a una biblioteca legítima de analítica y no es importado por el punto de entrada principal del paquete, contiene funciones de descarga. Los analistas creen que el gran tamaño del archivo podría estar destinado a ocultar el código malicioso durante revisiones superficiales.
Las referencias a empresas financieras y de pagos rusas en la carga útil para macOS podrían indicar que las organizaciones de ese sector son el objetivo. Sonatype, que denomina a esta actividad Flooding Dropper, afirmó que la operación podría representar la continuación de una campaña anterior de confusión de dependencias conocida como Moika.
Estos hallazgos se suman a una ola más amplia de actividad maliciosa que afecta a npm y PyPI, incluido el robo de credenciales, el robo de criptomonedas, la recopilación de secretos en la nube y la extracción de tokens de CI/CD. Por separado, los investigadores han advertido que algunas extensiones de Chrome comercializadas como herramientas de productividad o utilidades incorporan software de uso compartido del ancho de banda que convierte los navegadores en proxies de rastreo web controlados de forma remota.
