27 paquetes maliciosos de npm transforman el registro oficial en una red de Phishing dirigida

Un ataque de cadena de suministro a gran escala Un reciente ataque a la cadena de suministro ha puesto en riesgo al ecosistema de desarrolladores que utilizan NPM, la plataforma más popular para la gestión de paquetes en JavaScript. Atacantes lograron inyectar código malicioso en múltiples librerías con más de 2.6 mil millones de descargas semanales, tras comprometer la cuenta de un mantenedor mediante un correo de phishing que imitaba al soporte oficial de npmjs.com. El mantenedor afectado, Josh Junon, confirmó el incidente y señaló que el correo fraudulento advertía que su cuenta sería bloqueada si no actualizaba su autenticación multifactor (2FA), forzando así a que ingresara credenciales en un sitio controlado por los atacantes. Paquetes afectados y alcance de la intrusión Entre los paquetes comprometidos se encuentran algunos de los más utilizados en proyectos globales: chalk (299.9M descargas semanales) debug (357.6M) ansi-styles (371.4M) strip-ansi (261.1M) supports-color (287.1M) color-convert (193.5M) Entre otros, sumando más de 18 librerías populares. Estos paquetes fueron modificados para incluir código malicioso en archivos index.js, diseñado para interceptar interacciones web y manipular operaciones relacionadas con criptomonedas como Bitcoin, Ethereum, Solana, Tron y Litecoin. El malware alteraba funciones críticas de JavaScript (fetch, XMLHttpRequest, window.ethereum) con el objetivo de redirigir transacciones a billeteras controladas por los atacantes. Cómo operaba el malware El código malicioso actuaba de forma silenciosa en el navegador, alterando tanto el contenido mostrado como las interacciones con APIs y aplicaciones web3. Esto permitía manipular direcciones de pago y aprobar transacciones fraudulentas sin que el usuario lo notara. Según Aikido Security, la complejidad del ataque radica en que operaba en múltiples capas, combinando técnicas de manipulación visual con la interceptación de tráfico de red. Impacto y limitaciones Aunque la magnitud del ataque es significativa, expertos señalan que el impacto puede haberse reducido debido a factores como: Solo afectó instalaciones nuevas realizadas entre las 9:00 y 11:30 AM ET del día del compromiso. Requería que el archivo package-lock.json fuera generado en ese mismo periodo. Dependencias directas o transitivas debían incluir versiones comprometidas. Aun así, el incidente confirma la creciente tendencia de ataques contra cadenas de suministro en el ecosistema open source, donde una sola cuenta comprometida puede afectar a millones de proyectos. Lecciones para las empresas Este ataque subraya la necesidad de fortalecer controles en la gestión de dependencias y librerías de terceros: Implementar monitoreo continuo de integridad en paquetes críticos. Adoptar políticas estrictas de actualización y validación de librerías externas. Usar repositorios privados o proxies internos para reducir exposición a cambios no controlados. Reforzar la concienciación en phishing, ya que la intrusión comenzó con un engaño de ingeniería social. Conclusión: El caso de NPM recuerda que las organizaciones deben tratar las dependencias externas con el mismo nivel de seguridad que el software interno. Un simple clic en un correo de phishing puede convertirse en un ataque global con repercusiones multimillonarias.

Investigadores de seguridad descubren una campaña quirúrgica de cinco meses que utiliza la confianza en el ecosistema npm para alojar páginas de phishing y atacar a empleados clave en infraestructuras críticas. 

El registro npm, el corazón del desarrollo en JavaScript, ha sido abusado nuevamente. Un nuevo informe ha revelado que actores maliciosos han publicado 27 paquetes falsos no para atacar a los desarrolladores directamente, sino para convertir la infraestructura de npm en un “hosting a prueba de balas” para campañas de spear-phishing (phishing dirigido). 

Según la investigación, esta operación ha estado activa durante cinco meses y se ha centrado en 25 organizaciones específicas en los sectores de manufactura, automatización industrial, salud y plásticos en Estados Unidos y naciones aliadas. 


¿Cómo funciona el ataque? 

A diferencia de los ataques tradicionales a la cadena de suministro que buscan instalar malware en la máquina del desarrollador, esta campaña utiliza un enfoque diferente: 

  • Alojamiento en CDNs: Los atacantes suben paquetes con nombres como onedrive-verificationsecure-docs-app o androidvoues al registro de npm. 
  • Infraestructura Legítima: Al estar alojados en npm, estos archivos se distribuyen automáticamente a través de Redes de Entrega de Contenido (CDNs) globales y de confianza. Esto hace que las páginas de phishing sean extremadamente difíciles de bloquear por los filtros de seguridad corporativos, ya que el tráfico proviene de dominios legítimos. 
  • El Señuelo: Los paquetes contienen código HTML y JavaScript que simula portales de documentos compartidos y pantallas de inicio de sesión de Microsoft. 
  • Ataque Dirigido: Los correos de phishing enviados a las víctimas (gerentes de ventas y desarrollo de negocios) enlazan directamente a estos recursos alojados en npm. El formulario de phishing incluso viene con el correo de la víctima pre-rellenado. 

Evasión y Sofisticación 

Los atacantes han implementado medidas avanzadas para evitar ser detectados por los analistas de seguridad: 

  • Verificación Humana: El código malicioso requiere interacción del ratón o táctil antes de mostrar el formulario de robo de credenciales, evadiendo así a los “crawlers” automatizados. 
  • Honeypots: Incluyen campos de formulario invisibles (“honeypots”) que, si son rellenados (algo que solo haría un bot), bloquean la ejecución del ataque. 
  • Infraestructura AiTM: Los dominios utilizados para la recolección de credenciales se superponen con la infraestructura de Evilginx, un kit conocido para ataques de “Adversary-in-the-Middle” capaz de eludir la autenticación multifactor (MFA). 

Objetivos Específicos 

La lista de objetivos es inquietantemente precisa. Se encontraron direcciones de correo electrónico “hardcodeadas” pertenecientes a personal en Austria, Bélgica, Canadá, Francia, Alemania, Italia, España, Taiwán, Turquía, Reino Unido y EE. UU. 

Se sospecha que los atacantes obtuvieron estos datos de listas de asistentes a grandes ferias comerciales internacionales como Interpack y K-Fair, combinando esta información con reconocimiento en la web abierta. 


Recomendaciones 
  • Monitorear el tráfico CDN: Vigilar solicitudes inusuales a CDNs de paquetes de código (como unpkg o jsdelivr) que provengan de contextos no relacionados con el desarrollo. 
  • MFA Resistente al Phishing: Implementar llaves de seguridad físicas (FIDO2) que no puedan ser engañadas por ataques de intermediario como Evilginx.

Related Post