Al menos 187 paquetes de código disponibles a través del repositorio de JavaScript NPM se han infectado con un gusano autorreplicante que roba credenciales de los desarrolladores y publica esos secretos en Github, advierten los expertos. El malware, que infectó brevemente múltiples paquetes de código del proveedor de seguridad crowdstrike, roba y publica aún más credenciales cada vez que se instala un paquete infectado. Imagen: https://en.wikipedia.org/wiki/sandworm_(dune) La nueva cepa de malware se está denominando Shai-Hulud, después del nombre de los gusanos de arena gigantes en la serie de novelas de Dune de Frank Herbert, porque publica cualquier credencial de robo en un nuevo repositorio público que incluya el nombre «SHAI-HULUD» «. «Cuando un desarrollador instala un paquete comprometido, el malware buscará un token de NPM en el entorno», dijo Charlie Eriksen, investigador de la firma de seguridad belga Aikido. «Si lo encuentra, modificará los 20 paquetes más populares a los que el token NPM tiene acceso, copiándose en el paquete y publicar una nueva versión». En el centro de esta vástago en desarrollo hay bibliotecas de código disponibles en NPM (abreviatura de «Node Package Manager»), que actúa como un centro central para el desarrollo de JavaScript y proporciona las últimas actualizaciones a los componentes de JavaScript ampliamente utilizados. El gusano Shai-Hulud surgió solo unos días después de que los atacantes desconocidos lanzaron una amplia campaña de phishing que falsificó el NPM y pidió a los desarrolladores que «actualicen» sus opciones de inicio de sesión de autenticación de varios factores. Ese ataque llevó a que el malware se insertara en al menos dos docenas de paquetes de código NPM, pero el brote se contuvo rápidamente y se centró estrechamente en los pagos de criptomonedas sifonaba. Imagen: aikido.dev a fines de agosto, otro compromiso de un desarrollador de NPM dio como resultado que el malware se agregó a «NX», un conjunto de herramientas de desarrollo de código de código abierto con hasta seis millones de descargas semanales. En el compromiso de NX, los atacantes introdujeron el código que buscó el dispositivo del usuario para los tokens de autenticación de destinos de programador como GitHub y NPM, así como las teclas SSH y API. Pero en lugar de enviar esas credenciales robadas a un servidor central controlado por los atacantes, el código NX malicioso creó un nuevo repositorio público en la cuenta GitHub de la víctima, y ​​publicó los datos robados allí para que todo el mundo lo vea y descargue. El ataque del mes pasado a NX no se autopropagó como un gusano, pero este malware Shai-Hulud hace y envuelve herramientas de reconocimiento para ayudar en su propagación. A saber, utiliza la herramienta de código abierto Trufflehog para buscar credenciales expuestas y tokens de acceso en la máquina del desarrollador. Luego intenta crear nuevas acciones de GitHub y publicar cualquier secreto robado. «Una vez que la primera persona se comprometió, no se detuvo», dijo Eriksen de Aikido a Krebsonsecurity. Dijo que el primer paquete NPM comprometido por este gusano parece haber sido alterado el 14 de septiembre, alrededor de las 17:58 UTC. La plataforma de desarrollo de código centrada en la seguridad de Socket.dev informa que el ataque Shai-Halud comprometió brevemente al menos 25 paquetes de código NPM administrados por CrowdStrike. Socket.dev dijo que los paquetes afectados fueron eliminados rápidamente por el registro NPM. En una declaración escrita compartida con Krebsonsecurity, CrowdStrike dijo que después de detectar varios paquetes maliciosos en el registro público de NPM, la compañía los eliminó rápidamente y rotó sus claves en los registros públicos. «Estos paquetes no se utilizan en el sensor Falcon, la plataforma no se ve afectada y los clientes siguen siendo protegidos», dice el comunicado, refiriéndose al servicio de detección de amenazas de punto final ampliamente utilizado de la compañía. «Estamos trabajando con NPM y realizando una investigación exhaustiva». Un artículo sobre el ataque de StepSecurity encontró que para las operaciones específicas de la nube, el malware enumera los secretos de la plataforma AWS, Azure y Google Cloud. También encontró que todo el diseño de ataque asume que la víctima está trabajando en un entorno Linux o MacOS, y que omite deliberadamente los sistemas de Windows. StepSecurity dijo que Shai-Hulud se extiende mediante el uso de tokens de autenticación de NPM robados, agregando su código a los 20 paquetes principales en la cuenta de la víctima. «Esto crea un efecto en cascada en el que un paquete infectado conduce a credenciales de mantenedor comprometidas, lo que a su vez infecta a todos los demás paquetes mantenidos por ese usuario», escribió Ashish Kurmi de StepSecurity. Eriksen dijo que Shai-Hulud todavía se está propagando, aunque su propagación parece haber disminuido en las últimas horas. «Todavía veo que aparecen versiones de paquetes de vez en cuando, pero no se han comprometido nuevos paquetes en las últimas ~ 6 horas», dijo Eriksen. «Pero eso podría cambiar ahora a medida que la costa este comienza a funcionar. Pensaría en este ataque como una cosa» viva «casi, como un virus. Porque puede estar inactivo por un tiempo, y si solo una persona está repentinamente infectada por accidente, podría reiniciar la propagación. Especialmente si hay un ataque súper extenso». Por ahora, parece que la dirección web que los atacantes estaban utilizando para exfiltrado los datos recopilados se deshabilitaban debido a los límites de tasa, dijo Eriksen. Nicholas Weaver es investigador del Instituto Internacional de Ciencias de la Computación, una organización sin fines de lucro en Berkeley, California. Weaver llamó al gusano Shai-Hulud «un ataque de la cadena de suministro que lleva a cabo un ataque de la cadena de suministro». Weaver dijo que NPM (y todos los demás repositorios de paquetes similares) deben cambiar inmediatamente a un modelo de publicación que requiera consentimiento humano explícito para cada solicitud de publicación utilizando un método 2FA a prueba de PHISH. «Cualquier cosa menos significa que los ataques como este continuarán y se volverán mucho más comunes, pero cambiar a un método de 2FA aceleraría efectivamente estos ataques antes de que puedan propagarse», dijo Weaver. «Permitir procesos puramente automatizados para actualizar los paquetes publicados ahora es una receta probada para el desastre».