Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Paquetes de npm de AsyncAPI comprometidos distribuyen malware de botnet multietapa


Cuatro paquetes de npm del espacio de nombres @asyncapi fueron comprometidos para distribuir la botnet Miasma mediante un ataque a la cadena de suministro. El código malicioso se activa al cargar los módulos y descarga la carga útil desde IPFS, permitiendo el robo de credenciales y persistencia en el sistema. El atacante logró publicar estas versiones usando el flujo de trabajo legítimo de GitHub Actions, aunque los paquetes ya han sido eliminados del registro.





Se ha observado que cuatro paquetes de npm comprometidos en el espacio de nombres @asyncapi están distribuyendo un cargador de botnet de múltiples etapas, según los hallazgos de OX Security, SafeDep, Socket y StepSecurity.

Los paquetes afectados se enumeran a continuación:

* @asyncapi/generator-helpers@1.1.1
* @asyncapi/generator-components@0.7.1
* @asyncapi/generator@3.3.1
* @asyncapi/specs(v6.11.2, v6.11.2-alpha.1)

"Los paquetes comprometidos despliegan un payload de primera etapa ofuscado que descarga un payload cifrado de segunda etapa, identificado como Miasma, desde IPFS", afirmó Socket.

Los paquetes envenenados incluyen un implante de JavaScript oculto, y cada uno de ellos contiene un archivo de fuente inyectado que se decodifica en el mismo descargador de segunda etapa. A diferencia de iteraciones anteriores que utilizaban ganchos de instalación para activar la ejecución de un payload de JavaScript, el código malicioso en este caso se ejecuta cuando Node.js carga el módulo infectado, momento tras el cual lanza un nodo de fondo desprendido que descarga y ejecuta el malware desde IPFS.

El payload de la siguiente etapa es un cargador de JavaScript cifrado llamado "sync.js", que se escribe en rutas específicas del sistema operativo y se ejecuta. La URL del descargador es "ipfs[.]io/ipfs/QmQobZSp1wRPrpSEQ56qnyq7ecZh5Bg5k1fnjt4SUwwHb9". El cargador contiene dos componentes:

* El payload final de JavaScript cifrado, que se decodifica en el framework de tareas Miasma.
* Un blob cifrado grande utilizado por el framework de cadena de generación del tiempo de ejecución.

El framework agrupa 744 módulos y está construido como un framework de comandos que soporta seis canales de comunicación de comando y control (C2) independientes utilizando HTTP, relé Nostr, IPFS, BitTorrent DHT, libp2p GossipSub P2P mesh y un contrato inteligente de Ethereum.



Además de facilitar el robo de credenciales, el envenenamiento de herramientas de IA, el movimiento lateral en LAN y la propagación similar a un gusano en los registros de npm, PyPI y Cargo, Miasma cuenta con su propio mecanismo de persistencia, configurando claves de inicio automático en systemd, crontab, macOS launchd y el Registro de Windows.

"Aunque el malware tiene algunas similitudes con las campañas Shai-Hulud y Miasma, y contiene la cadena Miasma varias veces dentro de su código, este malware no es el mismo que ellos, ni se atribuye a las campañas Miasma/Shai-Hulud/TeamPCP que hemos visto en el pasado", dijo Moshe Siman Tov Bustan de OX Security.

Además, incorpora un "interruptor de hombre muerto" que monitorea un token robado y activa un borrado de directorio si el token es revocado, mientras evita sistemas identificados como sandboxes o entornos virtuales, así como aquellos que tienen el idioma ruso configurado o que tengan instaladas herramientas de seguridad de CrowdStrike, SentinelOne, Microsoft Defender, CarbonBlack, Cylance, Osquery, Tanium y Qualys.

"Su ruta operativa más clara es la C2 basada en REST: el implante envía señales a un endpoint HTTP, acepta tareas cifradas y publica los resultados de los comandos nuevamente en la misma infraestructura. Alrededor de ese núcleo, el payload también lleva soporte para transporte de carga, cifrado de comandos, firma de nodos, actualizaciones de payload, gestión de archivos, ejecución de shell y escritura de persistencia".

Según StepSecurity, se dice que el atacante obtuvo acceso de envío (push) a los repositorios y utilizó la propia canalización de lanzamiento legítima de GitHub Actions del proyecto para publicar paquetes con atestaciones de procedencia OIDC válidas. El ataque a la cadena de suministro no implicó el robo de un token de npm.

"Ambos ataques son compromisos de la canalización CI/CD, no tokens de npm robados ni mantenedores maliciosos", dijo el investigador de seguridad Rohan Prabhu. "El atacante envió commits bajo una identidad de git provisional y dejó que el flujo de trabajo de lanzamiento real de cada repositorio realizara la publicación a través de la integración de editor confiable de GitHub OIDC de npm".

"Los paquetes resultantes llevan atestaciones de procedencia SLSA legítimas, lo que solo demuestra que el flujo de trabajo autorizado del proyecto los produjo, no que los commits que lo activaron fueran legítimos. La procedencia no protege contra una credencial de envío comprometida".

Todas las cinco versiones maliciosas han sido retiradas del registro de npm. Se te aconseja tratar cualquier endpoint que haya importado o ejecutado una de las versiones afectadas del paquete como potencialmente comprometido. Sin embargo, cabe señalar que la exposición depende de si el módulo infectado se cargó como parte de una compilación o de un flujo de trabajo de desarrollador.

"No hay ningún script de preinstall/postinstall/install en ninguno de los tres archivos package.json", dijo StepSecurity. "Este dropper se activa cuando el módulo envenenado es llamado mediante require() durante el uso normal del generador: en el momento en que una compilación o un trabajo de CI realmente llama a la librería, no en el momento de la instalación de npm".

Fuente:
THN

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.