Los paquetes NPM están infectados con malware, nuevamente

Resumen

  • Shai Hulud v2 infectó más de 500 paquetes npm (más de 700 versiones) y se extendió a Java/Maven, ¡ay!

  • Los paquetes comprometidos ejecutan un cargador de preinstalación que descarga Bun y ejecuta silenciosamente una carga útil ofuscada de 10 MB.

  • La carga útil extrae variables de entorno (GITHUB_TOKEN, NPM_TOKEN, claves de AWS), busca secretos; C2 se repara automáticamente a través de GitHub.

Hoy en día, los ataques a la cadena de suministro dirigidos a npm no son raros. Han pasado un par de meses, pero volvemos con otro ataque más, que afecta a más de 500 paquetes. Vaya.

Una sofisticada campaña de ataque a la cadena de suministro denominada «Shai Hulud v2» ha comprometido cientos de paquetes dentro del ecosistema npm y ahora se ha extendido a los artefactos Java/Maven. El ataque ya ha afectado a más de 500 paquetes y 700 versiones, infiltrándose en software de los principales proveedores, incluidos Zapier, Postman, PostHog, AsyncAPI y ENS Domains.

Por lo que podemos deducir, el vector de infección se basa en un cargador de dos etapas diseñado para evadir la detección. Los paquetes comprometidos contienen un script de preinstalación en su archivo package.json que ejecuta un archivo llamado setup_bun.js. Este script actúa como un cargador sigiloso que detecta automáticamente la arquitectura y el sistema operativo del host. Luego localiza o descarga el tiempo de ejecución de Bun (un tiempo de ejecución rápido de JavaScript) y ejecuta una pesada carga útil ofuscada de 10 MB titulada bun_environment.js. Este proceso suprime todos los registros de errores y resultados estándar, por lo que los procesos maliciosos en segundo plano no se detectan mientras se instala el paquete.

Cabe señalar que el problema en realidad parece extenderse al ecosistema Maven. Los investigadores observaron que la carga útil maliciosa estaba presente en org.mvnpm:posthog-node, un artefacto Maven generado automáticamente a partir de paquetes npm. Esto confirma que la conexión automatizada de ecosistemas de software puede salvar inadvertidamente las vulnerabilidades de seguridad, permitiendo efectivamente que el malware basado en JavaScript contamine los entornos Java. Vaya.

El malware emplea una infraestructura C2 resistente y «autocurativa». Tras la ejecución, busca en los repositorios públicos de GitHub una frase baliza específica: «Sha1-Hulud: The Second Coming». Si se encuentra, el malware recupera un token de acceso GitHub oculto, codificado en triple base64, del repositorio. Este token se utiliza luego como credencial principal para la filtración de datos. Esto permite a los atacantes simplemente «resembrar» la campaña creando nuevos repositorios si se eliminan los anteriores, por lo que en realidad es bastante resistente a los esfuerzos de eliminación.

El objetivo principal del malware parece ser el robo masivo de credenciales. Captura todas las variables de entorno, incluidas GITHUB_TOKEN, NPM_TOKEN y AWS_ACCESS_KEY_ID. Además, descarga y ejecuta la herramienta de seguridad TruffleHog para escanear agresivamente todo el sistema de archivos en busca de secretos codificados.

Si desea leer más sobre los entresijos de este problema, este informe es bastante detallado.

Fuente: Zócalo

We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.
Accept