
Se han observado nuevas campañas de ataques a la cadena de suministro de software que utilizan paquetes durmientes como vector para luego impulsar cargas útiles maliciosas que permiten el robo de credenciales, la modificación de GitHub Actions y la persistencia de SSH.
Se cree que esta actividad es obra de la cuenta de GitHub ‘BufferZoneCorp’, que publicó un conjunto de repositorios relacionados con gemas Ruby maliciosas y módulos Go. Al momento de escribir este artículo, el paquete se eliminó de RubyGems y el módulo Go está bloqueado. Los nombres de las bibliotecas se enumeran a continuación:
Ruby: nudo-activesupport-logger nudo-devise-jwt-helper nudo-rack-session-store nudo-rieles-assets-pipeline nudo-rspec-formatter-json nudo-fecha-utils-rb (gema durmiente) nudo-simple-formateador (gema durmiente) Ir: github(.)com/BufferZoneCorp/go-metrics-sdk github(.)com/BufferZoneCorp/go-weather-sdk github(.)com/BufferZoneCorp/go-retryablehttp github(.)com/BufferZoneCorp/go-stdlib-ext github(.)com/BufferZoneCorp/grpc-client github(.)com/BufferZoneCorp/net-helper github(.)com/BufferZoneCorp/config-loader github(.)com/BufferZoneCorp/log-core (módulo durmiente) github(.)com/BufferZoneCorp/go-envconfig (módulo durmiente)
Los paquetes identificados se disfrazan de módulos reconocibles y conocidos, como activesupport-logger, device-jwt, go-retryablehttp, grpc-client y config-loader, para evadir la detección y engañar a los usuarios para que los descarguen.
«Esta cuenta es parte de una campaña de la cadena de suministro de software dirigida a desarrolladores, corredores de CI y el entorno construido en dos ecosistemas», dijo el investigador de seguridad de sockets Kirill Boychenko en un análisis publicado hoy.
Las gemas Ruby están diseñadas para automatizar el robo de credenciales durante la instalación, la recopilación de variables de entorno, claves SSH, secretos de AWS, .npmrc, .netrc, configuración de la CLI de GitHub y credenciales de RubyGems. Los datos robados se filtran a un punto final del sitio Webhook(.) controlado por el atacante.
El módulo Go, por otro lado, tiene una funcionalidad más amplia, incluida la modificación de los flujos de trabajo de GitHub Actions, la instalación de envoltorios Go falsos, el robo de datos de desarrolladores y la adición de claves públicas SSH codificadas a «~/.ssh/authorized_keys» para acceso remoto a hosts comprometidos. No todos los módulos tienen la misma carga útil. En cambio, se distribuye por todo el clúster.
«El módulo se ejecuta a través de init(), encuentra GITHUB_ENV y GITHUB_PATH, configura HTTP_PROXY y HTTPS_PROXY, escribe un ejecutable go falso en el directorio de caché y agrega ese directorio a la ruta del flujo de trabajo para que el contenedor se seleccione antes que el binario real», explicó Boychenko.
«Este contenedor puede interceptar o influir en la ejecución posterior mientras pasa el control al binario legítimo para evitar la interrupción del trabajo».
Se recomienda a los usuarios que instalaron el paquete que lo eliminen de sus sistemas, verifiquen signos de acceso a archivos confidenciales o cambios no autorizados en ‘~/.ssh/authorized_keys’, roten las credenciales expuestas e inspeccionen los registros de red para detectar tráfico HTTPS saliente a los puntos de extracción.
Source link
