Anoche, varias empresas de seguridad de redes detectaron que Red Hat había lanzado varios paquetes de software con cargas útiles maliciosas en la plataforma NPM. Estas cargas maliciosas utilizaban versiones variantes del gusano de código abierto Mini Shai-Hulud. Después de ingresar al entorno de desarrollo, recopilarían y cifrarían varias credenciales confidenciales y las subirían a servidores controlados por piratas informáticos. Al mismo tiempo, el gusano utilizaría estas credenciales para seguir propagándose lateralmente para infectar más entornos de desarrollo y robar más credenciales.

Después de una investigación preliminar, los investigadores de seguridad creen que la fuente del ataque a la cadena de suministro fue el secuestro de la cuenta de GitHub de un ingeniero de Red Hat. Luego, el pirata informático utilizó el mecanismo de publicación confiable de NPM para enviar paquetes de malware desde tokens OIDC a corto plazo emitidos en GitHub Actions. No está claro cuántos desarrolladores intermedios se vieron realmente afectados, pero estos paquetes de software lanzados por Red Hat son principalmente para uso empresarial, por lo que la mayoría de los desarrolladores intermedios infectados también son desarrolladores de nivel empresarial.

113209.png

También se omite el mecanismo de publicación confiable:

El mecanismo de publicación confiable de NPM tiene como objetivo eliminar los tokens de publicación a largo plazo del proceso de CI/CD y, en su lugar, utilizar tokens OIDC a corto plazo emitidos por GitHub Actions para reemplazar dichos tokens a largo plazo. Este mecanismo fue diseñado originalmente para mejorar la seguridad y evitar problemas de seguridad causados ​​por la filtración de credenciales válidas a largo plazo. Sin embargo, casos recientes de ataques a la cadena de suministro han demostrado que si un atacante obtiene acceso a la canalización de CI/CD a través de una vulnerabilidad o un token robado, el mecanismo de publicación confiable puede eludirse por completo.

En este caso de ataque, la cuenta de GitHub de un ingeniero de Red Hat se vio comprometida y luego los piratas informáticos la utilizaron para enviar envíos huérfanos maliciosos directamente a múltiples repositorios de código. Todo el proceso también pasó por alto la revisión del código. Estos envíos huérfanos contenían el archivo de flujo de trabajo CI.YAML y el script _INDEX.JS. Cuando el flujo de trabajo se esté ejecutando, instalará Bun y ejecutará _INDEX.JS, y luego le pasará la lista de paquetes de destino a través de variables de entorno. El script también utilizará permisos para solicitar OIDC a corto plazo desde GitHub. token y luego use el token para enviar el paquete que contiene la carga maliciosa directamente a NPM.

Versiones variantes de mini gusanos de arena:

El equipo TeamPCP, que anteriormente se dedicaba a ataques a la cadena de suministro, lanzó el gusano Shai-Hulud como código abierto. Ahora cada vez más piratas informáticos utilizan este gusano para realizar ataques. El gusano utilizado por los piratas informáticos en este caso de ataque está modificado basándose en Sandworm, pero se utiliza esencialmente para robar varias credenciales en el entorno de desarrollo e intentar propagarlo horizontalmente.

Los tipos de credenciales robadas incluyen: claves de GitHub Actions, claves de acceso de AWS y tokens de sesión, credenciales predeterminadas de GCP y archivos de claves de servicio de cuenta, credenciales principales de servicio de Azure y tokens de identidad administrados, tokens de publicación NPM y PYPI, claves SSH, credenciales de registro de Docker, claves GPG y cualquier archivo .env que se encuentre en todo el entorno de desarrollo.