Los actores de amenazas detrás del ataque a la cadena de suministro se sospecha que tienen como objetivo el popular escáner Trivy están realizando ataques de seguimiento que han llevado a comprometer una gran cantidad de paquetes npm con un gusano autopropagante previamente indocumentado denominado Lata Worm .

El nombre hace referencia al hecho de que el malware utiliza un Bidón ICP , que se refiere a los contratos inteligentes a prueba de manipulaciones en la cadena de bloques de Internet Computer, como solucionador de puntos muertos . Este desarrollo marca el primer abuso documentado públicamente de una cápsula ICP con el propósito explícito de obtener el servidor de comando y control (C2), según Charlie Eriksen, investigador de Aikido Security dijo .

La lista de paquetes afectados se encuentra a continuación:

  • 28 paquetes en el ámbito de @EmilGroup
  • 16 paquetes en el ámbito de @opengov
  • @teale .io/eslint-config
  • @airtm /uuid-base32
  • @pypestream /floating-ui-dom

El desarrollo se produce un día después de que los actores de amenazas aprovecharan una credencial comprometida para publicar versiones maliciosas de trivy, trivy-action y setup-trivy que contenían un ladrón de credenciales. Un enfoque en la nube operación cibercriminal conocido como Equipo PCP se sospecha que está detrás de los ataques.

adsense

La cadena de infección que involucra a los paquetes npm implica aprovechar un enlace posterior a la instalación para ejecutar un cargador, que luego deja caer una puerta trasera de Python que se encarga de contactar con el contenedor del ICP sin salida para recuperar una URL que apunte a la carga útil de la siguiente etapa. El hecho de que la infraestructura de punto muerto esté descentralizada hace que resilientes y resistentes a los esfuerzos de desmantelamiento .

«El controlador del cartucho puede cambiar la URL en cualquier momento y enviar nuevos archivos binarios a todos los huéspedes infectados sin tocar el implante», afirma Eriksen.

La persistencia se establece mediante un servicio de usuario de systemd, que está configurado para iniciar automáticamente la puerta trasera de Python tras un retraso de 5 segundos si se termina por algún motivo mediante el uso del» restart=Siempre «directiva. El servicio systemd se hace pasar por herramientas de PostgreSQL («pgmon») en un intento de pasar desapercibido.

La puerta trasera, como se mencionó anteriormente, llama al Bidón ICP con un User-Agent de navegador falsificado cada 50 minutos para obtener la URL en texto plano. Posteriormente, la URL se analiza para buscar y ejecutar el ejecutable.

«Si la URL contiene youtube [.] com, el script lo omite», explica Eriksen. «Este es el estado latente del recipiente. El atacante arma el implante apuntando con el cartucho hacia un binario real y lo desarma volviendo a un enlace de YouTube. Si el atacante actualiza el contenedor para que apunte a una nueva URL, cada máquina infectada detectará el nuevo binario en su próxima encuesta. El antiguo binario sigue ejecutándose en segundo plano, ya que el script nunca elimina los procesos anteriores».

Vale la pena señalar que Wiz también ha marcado un interruptor de apagado similar basado en youtube [.] com en relación con el binario troyanizado de Trivy (versión 0.69.4), que llega al mismo contenedor de ICP a través de otro cuentagotas de Python (» sysmon.py «). En el momento de escribir este artículo, la URL devuelta por el C2 es Vídeo de YouTube de rickroll .

The Hacker News descubrió que el cartucho ICP soporta tres métodos (get_latest_link, http_request y update_link), el último de los cuales permite al actor de la amenaza modificar el comportamiento en cualquier momento para servir una carga útil real.

Además, los paquetes vienen con un archivo "deploy.js" que el atacante ejecuta manualmente para distribuir la carga maliciosa a todos los paquetes a los que un token npm robado proporciona acceso de forma programática. El gusano, que se ha determinado mediante una herramienta de inteligencia artificial (IA) que ha sido codificado mediante vibraciones, no intenta ocultar su funcionalidad.

«Esto no lo desencadena npm install», dijo Aikido. «Es una herramienta independiente que el atacante usa con fichas robadas para maximizar el radio de explosión».

Para empeorar las cosas, se ha descubierto que una iteración posterior de CanisterWorm detectada en las versiones 1.8.11 y 1.8.12 de "@teale .io/eslint-config» se autopropaga por sí sola sin necesidad de intervención manual.

enlaces

A diferencia de "deploy.js», que era un script autónomo que el atacante tenía que ejecutar con los tokens npm robados para enviar una versión maliciosa de los paquetes npm al registro, la nueva variante incorpora esta funcionalidad en "index.js" dentro de una función findNpmTokens () que se ejecuta durante la fase posterior a la instalación para recopilar los tokens de autenticación npm de la máquina de la víctima.

La principal diferencia aquí es que el script posterior a la instalación, después de instalar la puerta trasera persistente, intenta localizar todos los tokens npm del entorno del desarrollador y genera el gusano de inmediato con esos tokens al lanzar "deploy.js" como un proceso en segundo plano completamente independiente.

Curiosamente, se dice que el autor de la amenaza cambió la carga útil de la puerta trasera del ICP por una cadena de prueba ficticia («hello123"), lo que probablemente garantizaría que toda la cadena de ataque funcionara según lo previsto antes de añadir el malware.

«Este es el punto en el que el ataque pasa de 'una cuenta comprometida publica malware' a 'el malware compromete más cuentas y se publica solo'», dijo Eriksen. «Cada desarrollador o canal de CI que instala este paquete y tiene un token npm accesible se convierte en un vector de propagación involuntario. Sus paquetes se infectan, los usuarios intermedios los instalan y, si alguno de ellos tiene tokens, el ciclo se repite».

(Esta es una historia en desarrollo. Vuelva a consultar para obtener más información.)

¿Te ha parecido interesante este artículo? Síguenos en Noticias de Google , Twitter y LinkedIn para leer más contenido exclusivo que publicamos.