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 npm de Joyfill hackeados despliegan RAT y roban credenciales


Se ha detectado una nueva amenaza de cadena de suministro dirigida a equipos de software. El 28 de julio de 2026, se insertaron versiones beta maliciosas en dos paquetes de Joyfill (@joyfill/components y @joyfill/layouts) dentro del registro npm. Estas librerías, utilizadas habitualmente para formularios y diseños de aplicaciones web, fueron manipuladas para desplegar un RAT con comportamiento de gusano y robar credenciales de desarrolladores.





Un nuevo susto en la cadena de suministro afectó a los equipos de software después de que unos atacantes introdujeran malware en librerías de código abierto confiables.

El 28 de julio de 2026, aparecieron versiones beta maliciosas de dos paquetes de Joyfill en el registro de npm. Las librerías, @joyfill/components y @joyfill/layouts, se utilizan para el trabajo de formularios y diseño en muchas aplicaciones web.

Cualquiera que haya importado esas versiones beta podría activar código oculto sin necesidad de un script de instalación clásico. El malware abre un canal de control remoto y posteriormente intenta robar secretos del desarrollador desde la estación de trabajo.

Consejos como ejecutar npm install with ignore scripts no detienen esta amenaza porque el código reside dentro de los propios paquetes.

Analistas de StepSecurity identificaron la campaña después de que escaneos automatizados marcaran una versión de layouts como crítica.

StepSecurity señaló en un informe  que el mismo implante ofuscado aparece en ambos paquetes y solo en los archivos tarball publicados, no en el código fuente limpio del proyecto.

La firma confirmó el hallazgo mediante ejecuciones en sandbox y comparando las versiones maliciosas con lanzamientos seguros anteriores.

El impacto va mucho más allá de un solo proyecto. Una vez activo, el malware puede implantarse en herramientas que abres todos los días, incluidos los editores de código y la línea de comandos global de npm.

The npm registry lists the 2773 beta releases published within hours of each other, next to the last legitimate 0.1.1 release (Source - StepSecurity)
El registro de npm enumera las 2773 versiones beta publicadas con pocas horas de diferencia, junto al último lanzamiento legítimo 0.1.1 (Fuente – StepSecurity)

Este comportamiento estilo gusano significa que una máquina infectada puede seguir recargando la amenaza y puede trasladarla a nuevos paquetes. Los equipos que hayan descargado cualquier versión preliminar 2773 deben tratar esas máquinas como comprometidas hasta que sean limpiadas.

Este caso encaja en un patrón más amplio de abuso de código abierto donde los atacantes prefieren proyectos reales sobre nombres falsos.

Olas similares de compromiso de paquetes npm han demostrado la rapidez con la que los tokens y claves robadas pueden desbloquear más acceso a través de plataformas en la nube y cuentas de alojamiento de código.

Paquetes npm de Joyfill secuestrados

La cadena de ataque tiene cinco etapas que comienzan en el momento en que una aplicación importa el paquete.

Primero, un cargador oculto establece una etiqueta de campaña y expone funciones de Node bajo nombres globales cortos. Luego, lee datos públicos de la blockchain para saber dónde se encuentra el servidor de control activo, de modo que la dirección real no esté codificada directamente dentro del paquete.

Tras esa búsqueda, el malware evalúa más código en memoria y se conecta a través de Socket.IO.

Los operadores pueden solicitar detalles del host, robar el contenido del portapapeles, mover archivos y ejecutar scripts en el sistema de la víctima.

El agente también inyecta copias de sí mismo en módulos de VS Code, Cursor, Discord, GitHub Desktop y la CLI de npm para que la amenaza regrese tras los reinicios.

Esa propagación automática es lo que hace que el implante se comporte como un gusano en la práctica. Parchear la CLI global de npm es especialmente peligroso porque cualquier comando de npm posterior puede volver a ejecutar el cargador.

Attack chain (Source - StepSecurity)
Cadena de ataque (Fuente – StepSecurity)

El diseño recuerda a actividades anteriores de gusanos en la cadena de suministro, donde un primer punto de apoyo intentaba expandirse a través de las herramientas cotidianas del desarrollador.

Las etiquetas de campaña dirigen a las víctimas hacia diferentes hosts de control. Para la ruta de npm etiquetada como A9-0135-3, el tráfico apunta a una dirección dedicada utilizada para el canal de socket y la subida de archivos.

Un asistente de Python por etapas recopila posteriormente datos del navegador, extensiones de billeteras, gestores de contraseñas, tokens de Git y llaveros para su subida.

Robo de credenciales y pasos de recuperación

El premio real es el portátil del desarrollador más que un ejecutor de compilación de corta duración. Los secretos del navegador robados, los tokens de control de versiones y las credenciales de npm pueden abrir repositorios privados, cuentas en la nube y derechos de publicación de paquetes.

Los defensores que vigilen el tráfico de sockets HTTP simple, procesos Node secundarios extraños o ediciones inesperadas dentro de los archivos del editor y de npm detectarán señales que las comprobaciones puras del registro podrían pasar por alto.

Si alguna versión beta 2773 de estos paquetes de Joyfill terminó en un archivo de bloqueo (lockfile), elimina esas versiones y fíjalas en lanzamientos conocidos como seguros publicados antes del 28 de julio de 2026.

Borra node_modules y reinstala desde un archivo de bloqueo limpio para que el paquete inyectado desaparezca. En las máquinas que importaron el código, inspecciona los archivos de las herramientas de desarrollo en busca de marcadores de inyección y reinstala esas aplicaciones cuando aparezcan los marcadores.

Cambia cada secreto que haya estado en los sistemas afectados, incluyendo contraseñas guardadas en el navegador, tokens de Git, tokens de npm y claves de billeteras. Revisa los registros de salida para los hosts de control enumerados por los investigadores.

El episodio también se alinea con otras amenazas recientes de troyanos de acceso remoto y casos donde paquetes maliciosos roban secretos de estaciones de trabajo de ingeniería a gran escala.

Las organizaciones deberían tratar la ejecución al momento de la importación como un riesgo prioritario durante la revisión de dependencias. Las comprobaciones continuas del archivo de bloqueo y el monitoreo de salidas inusuales de Node siguen siendo defensas prácticas mientras los equipos responden.

Indicadores de compromiso (IoCs):-

TipoIndicadorDescripción
Versión del paquete@joyfill/components@4.0.0-rc24-2773-beta.4Versión de paquete npm comprometida
Versión del paquete@joyfill/components@4.0.0-rc24-2773-beta.5Versión de paquete npm comprometida
Versión del paquete@joyfill/components@4.0.0-rc24-2773-beta.6Versión de paquete npm comprometida
Versión del paquete@joyfill/layouts@0.1.2-2773.beta.0Versión de paquete npm comprometida
Versión del paquete@joyfill/layouts@0.1.2-2773.beta.1Versión de paquete npm comprometida
Versión del paquete@joyfill/layouts@0.1.2-2773.beta.2Versión de paquete npm comprometida
Dirección IP166.88.134.62Host C2 (puertos 443 y 80); SOCKET_URL / UPLOAD_URL de campaña npm
Dirección IP23.27.13.43Sirve la ruta del descargador /$/boot
Dirección IP198.105.127.210Host C2 alternativo de la campaña
Dirección IP23.27.202.27Host C2 alternativo de la campaña (puerto 443; subida en 27017)
Ruta URL/$/bootRuta de solicitud de carga de etapa 2B
Ruta URL/u/e, /u/f, /0x/js, /verify-human/, /snvRutas de solicitud C2
Dominioapi.trongrid.ioEndpoint de resolución C2 de Blockchain (Tron)
Dominiofullnode.mainnet.aptoslabs.comRespaldo C2 de Blockchain (Aptos)
Dominiobsc-dataseed.binance.orgRPC de BNB Smart Chain usado en resolución C2
Dominiobsc-rpc.publicnode.comRPC de BSC alternativo usado en resolución C2
Dominioip-api.comBúsqueda de geolocalización usada por el RAT
Dirección TronTMfKQEd7TJJa5xNZJZ2Lep838vrzrs7mAPDirección puntero Tron en resolución C2
Dirección TronTXfxHUet9pJVU1BgVkBAbrES4YUc1nGzcGDirección puntero Tron en resolución C2
Dirección TronTA48dct6rFW8BXsiLAtjFaVFoSuryMjD3vPuntero Tron rearmado almacenado por la Etapa 2
SHA-25626351aed0397158d3a3b8cc8fd3047d4c015dHash final del RAT Socket.IO (según lo reportado; truncado en la fuente)
SHA-25636ff00b45e67baa7e3674b0c80f48e8873726Hash del robador de credenciales de Python (según lo reportado; truncado en la fuente)
Marcador de campaña9-0135-3 / A9-0135-3Etiqueta de campaña y valor de cabecera Sec-V
Marcador de archivoC250617A, C250618A, C250619A, C250620A, C260511A, C260512A, RS260605Etiquetas centinela de inyección en archivos de herramientas de desarrollador
Ruta de archivo%USERPROFILE%.npm o /tmp/.npmDirectorio de almacenamiento de credenciales
Ruta de archivonpm/lib/cli.jsObjetivo de inyección de la CLI global de npm
Ruta de archivodist/index.es.js / dist/index.cjs.jsPuntos de entrada del paquete malicioso en layouts

Nota: Las direcciones IP y los dominios están intencionadamente desactivados (p. ej., [.]) para evitar la resolución accidental o el hipervínculo. Reactívalos solo dentro de plataformas de inteligencia de amenazas controladas como MISP, VirusTotal o tu SIEM.



Fuentes:
https://cybersecuritynews.com/hijacked-joyfill-npm-packages-worm-like-rat/

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.