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 roban secretos de nube y CI/CD


Se ha detectado una nueva oleada de paquetes de software maliciosos diseñados para robar credenciales de la nube y secretos de tuberías CI/CD desde los equipos de los desarrolladores. Este ataque, descubierto el 28 de mayo de 2026, resalta la vulnerabilidad de la cadena de suministro de software de código abierto y la facilidad con la que los atacantes pueden introducir código peligroso en el ecosistema.



Una nueva oleada de paquetes de software maliciosos ha sido detectada robando credenciales de la nube y secretos de tuberías (pipelines) de CI/CD de las máquinas de desarrolladores, lo que ha generado nuevas alarmas sobre la seguridad de la cadena de suministro de software de código abierto.

El ataque, descubierto el 28 de mayo de 2026, muestra lo fácil que se ha vuelto para los actores malintencionados introducir código peligroso en manos de desarrolladores desprevenidos mediante un simple truco de nomenclatura que explota deliberadamente el error humano a gran escala y con una velocidad sorprendente.

La campaña se basa en una técnica llamada typosquatting, donde los atacantes publican paquetes con nombres casi idénticos a librerías populares y confiables.

En este caso, 14 paquetes maliciosos fueron cargados en el registro de npm en un intervalo de cuatro horas, todos imitando herramientas ampliamente utilizadas relacionadas con OpenSearch, ElasticSearch, DevOps y librerías de configuración de entorno.

Una vez instalados, estos paquetes comienzan inmediatamente a recolectar credenciales sensibles y a enviarlas a servidores controlados por el atacante sin ninguna señal visible de compromiso.

Los analistas de Microsoft identificaron la campaña y señalaron que los 14 paquetes fueron publicados por un único actor de amenazas que operaba bajo el alias de mantenedor vpmdhaj, registrado con el correo electrónico a39155771@gmail[.]com.

Microsoft afirmó en un informe que los paquetes incluyen la misma carga útil de recolección de credenciales: un binario compilado con Bun de aproximadamente 195 KB que apunta a entornos de nube y CI/CD.

Los paquetes también utilizaron metadatos falsificados, configurando sus campos de página de inicio y repositorio para apuntar al proyecto legítimo de OpenSearch y así parecer confiables a primera vista.

vpmdhaj npm supply chain attack flow (Source - Microsoft)
Flujo del ataque a la cadena de suministro de npm de vpmdhaj (Fuente – Microsoft)

Los datos robados incluyen credenciales de AWS, tokens de HashiCorp Vault, tokens de GitHub Actions y tokens de publicación de npm.

Este último punto es particularmente preocupante porque los tokens de npm robados podrían permitir al atacante lanzar actualizaciones maliciosas a otros paquetes, convirtiendo la estación de trabajo de un desarrollador comprometido en una plataforma de lanzamiento para un ataque de cadena de suministro mucho más amplio.

El alcance de lo que estos paquetes atacan, abarcando múltiples plataformas en la nube, sistemas de CI/CD y el propio registro de npm, convierte a este en uno de los ataques basados en npm más sofisticados vistos recientemente.

Paquetes de npm con Typosquatting

El ataque comienza en el momento en que ejecutas npm install. Cada paquete del grupo utiliza un gancho de ciclo de vida automático que activa el código malicioso sin que se requiera ninguna acción adicional por tu parte.

npm.js package page (Source - Microsoft)
Página del paquete npm.js (Fuente – Microsoft)

Se observaron dos variantes de este cargador: una generación antigua que contacta con un servidor de comando y control externo para obtener su carga útil, y una generación más nueva y sigilosa que descarga silenciosamente el entorno de ejecución legítimo de Bun y lo utiliza para ejecutar un script malicioso preempaquetado oculto dentro del archivo tarball de npm.

La variante más nueva es especialmente preocupante porque evita el tráfico de red saliente obvio que podría activar las herramientas de monitoreo de seguridad. En lugar de conectarse a un servidor sospechoso al momento de la instalación, aprovecha discretamente un entorno de ejecución legítimo para ejecutar su carga útil.

El binario de la segunda etapa escanea entonces 16 o más regiones de AWS, consulta el servicio de metadatos de EC2, lee variables de entorno y verifica si se está ejecutando dentro de una tubería de GitHub Actions para priorizar la recolección de credenciales basada en los objetivos disponibles.

Los tokens robados permiten la expansión de la cadena de suministro descendente

Lo que separa a esta campaña del robo de credenciales típico es el objetivo específico de los tokens de publicación de npm.

Si un atacante adquiere la capacidad de publicar paquetes en nombre de un desarrollador legítimo, puede inyectar código malicioso en librerías confiables sin que el propietario lo sepa, expandiendo la campaña mucho más allá de su alcance original.

Esto crea un riesgo descendente que puede repercutir en miles de otros proyectos, mucho más allá de los 14 paquetes maliciosos iniciales de este grupo.

Los equipos de seguridad deben tomar medidas inmediatas si alguno de los paquetes afectados fue instalado el 28 de mayo de 2026 o después.

Los pasos recomendados incluyen rotar todas las credenciales de AWS, Vault, npm y GitHub que hayan podido quedar expuestas, bloquear la salida al dominio C2 del atacante a nivel de firewall y DNS, y revisar los registros de compilación de CI/CD en busca de conexiones de red inesperadas o descargas inusuales del entorno de ejecución Bun iniciadas por procesos de Node.js.

Ejecutar npm install con el indicador --ignore-scripts también puede evitar que estos ganchos de ciclo de vida se ejecuten por completo, deteniendo el ataque en su punto de entrada más temprano antes de que cualquier carga útil llegue al disco.

Indicadores de Compromiso (IoCs):-

TipoIndicadorDescripción
Paquete npm@vpmdhaj/elastic-helper (1.0.7269)Typosquat – ayudante de ElasticSearch/OpenSearch
Paquete npm@vpmdhaj/devops-tools (1.0.7267)Typosquat – herramientas de DevOps / configuración OpenSearch
Paquete npm@vpmdhaj/opensearch-setup (1.0.7267)Typosquat – utilidad de configuración de OpenSearch
Paquete npm@vpmdhaj/search-setup (1.0.7268)Typosquat – configuración de motor de búsqueda
Paquete npmopensearch-security-scanner (1.0.10)Semejante sin alcance – escáner de seguridad
Paquete npmopensearch-setup (1.0.9103)Semejante sin alcance – falsifica URL del repo opensearch-project
Paquete npmopensearch-setup-tool (1.0.9108)Semejante sin alcance – falsifica URL del repo opensearch-project
Paquete npmopensearch-config-utility (1.0.9106)Semejante sin alcance – falsifica URL del repo opensearch-project
Paquete npmsearch-engine-setup (1.0.9108)Semejante sin alcance – falsifica URL del repo opensearch-project
Paquete npmsearch-cluster-setup (1.0.9104)Semejante sin alcance – falsifica URL del repo opensearch-project
Paquete npmelastic-opensearch-helper (1.0.9108)Semejante sin alcance – falsifica URL del repo opensearch-project
Paquete npmvpmdhaj-opensearch-setup (1.0.9102)Sin alcance – configuración de OpenSearch con nombre del autor
Paquete npmenv-config-manager (2.1.9201)Typosquat – gestor de configuración estilo dotenv
Paquete npmapp-config-utility (1.0.9300)Typosquat – utilidad genérica de configuración de app
Mantenedor npmvpmdhajActor de amenazas que publica los 14 paquetes maliciosos
Emaila39155771@gmail[.]comEmail de contacto del mantenedor registrado en npm
Dominioaab.sportsontheweb[.]netServidor C2 Etapa-1 utilizado por paquetes Gen-1
URLhxxp://aab.sportsontheweb[.]net/x.phpBeacon y punto final de entrega de carga útil etapa-2 (puerto 80)
Cabecera HTTPX-Supply: 1Marcador único de la campaña para detección de proxy/firewall
Dirección IP169.254.169.254Endpoint IMDSv2 de AWS EC2 consultada por carga útil etapa-2
Dirección IP169.254.170.2Endpoint de metadatos de tarea de AWS ECS consultada por carga útil etapa-2
SHA-256638788AFC4F1B5860A328312CAF5895ABD5F5632D28A4F2A85B09076E270D15Dpreinstall.js – cargador Gen-1
SHA-25677D92EFE7AF3547F71FD41D4A884872D66B1BE9499EAA637E91EAC866911694Dsetup.mjs – cargador Gen-2
SHA-256BFA149694EC6411C23936311A999163ADE54D6F38E2F4B0E3CFB8CB67BD7CFAApayload.gz – binario Bun etapa-2 comprimido en gzip
Nombre de archivoopensearch_init.jsRecolector de credenciales etapa-2 compilado con Bun (~195 KB)
Nombre de archivoai_init.jsNombre de archivo alternativo etapa-2 usado por algunos paquetes Gen-2
Nombre de archivopayload.binBinario etapa-2 depositado en el directorio de instalación node_modules
Variable de Entorno_DAEMONIZED=1Marcador establecido por el cargador al crear un proceso de carga útil desprendido

Nota: Las direcciones IP y los dominios han sido desactivados intencionadamente (por ejemplo, [.]) para evitar la resolución accidental o la creación de hipervínculos. Reactívalos solo dentro de plataformas de inteligencia de amenazas controladas como MISP, VirusTotal o tu SIEM.



Fuentes:
https://cybersecuritynews.com/typosquatted-npm-packages-steal-cloud-and-ci-cd-secrets/


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.