SleeperGem utiliza tres paquetes maliciosos de RubyGems para atacar las máquinas de los desarrolladores – CYBERDEFENSA.MX

Los investigadores de ciberseguridad han señalado un nuevo ataque a la cadena de suministro de software con nombre en código SleeperGem dirigido al ecosistema Ruby después de que se publicaran tres gemas maliciosas en RubyGems con el objetivo final de servir cargas útiles adicionales.

Las gemas rebeldes se enumeran a continuación:

«Cada lanzamiento malicioso es un cargador», StepSecurity dicho en un análisis. «Obtiene una segunda etapa de un host Forgejo controlado por un atacante, verifica si se está ejecutando en un sistema de compilación y lo omite si lo está, y en una máquina de desarrollo coloca un demonio nativo e instala la persistencia».

Ciberseguridad

Un aspecto del ataque que se destaca de inmediato es que «git_credential_manager» se hace pasar por el administrador oficial de credenciales Git de Microsoft, mientras que los otros dos habían estado inactivos durante años antes de recibir las actualizaciones maliciosas. «Dendreo» se actualizó por última vez el 24 de octubre de 2020 y «fastlane-plugin-run_tests_firebase_testlab» permaneció inactivo desde el 9 de marzo de 2019, antes de las nuevas versiones.

Otro rasgo definitorio de la actividad es que los lanzamientos se publicaron directamente en el registro sin ningún compromiso o etiqueta coincidente en los proyectos fuente.

Curiosamente, «git_credential_manager» ha sido agregado como una dependencia de cinco paquetes, incluidos «Dendreo» y «fastlane-plugin-run_tests_firebase_testlab», lo que permite efectivamente que la carga maliciosa se propague a los usuarios existentes de los paquetes.

  • dendreo
  • fastlane-plugin-run_tests_firebase_testlab
  • holguraHtmlToMarkdown
  • seo_optimizador
  • métodos_rápidos_array

Todos los paquetes antes mencionados, a excepción de «fastlane-plugin-run_tests_firebase_testlab», se mantienen en la misma cuenta («LR-DEV«). El hecho de que la gema pertenece a un mantenedor diferente («habitación rosa«) indica que es probable que más de una cuenta haya sido comprometida para enviar las versiones no autorizadas a RubyGems.

Una vez instalado, el malware integrado en estos paquetes escanea el sistema infectado en busca de aproximadamente 30 variables de entorno, incluidas las relacionadas con GitHub Actions, GitLab, CircleCI, Travis, Jenkins y Vercel. Si se identifica alguno de ellos, se cierra de inmediato. Se considera que la verificación es un intento intencional de evitar la ejecución en corredores de CI efímeros y garantizar que se ejecute en una máquina de desarrollador.

En el caso de «git_credential_manager», el código malicioso se activa cuando se requiere la biblioteca, lo que provoca que descargue dos cargas útiles desde una instancia pública de Forgejo («git.disroot[.]org/git-ecosystem»): un script de shell («deploy.sh») y un binario nativo que lleva el mismo nombre que la herramienta que disfraza la gema. En Windows, la carga útil recuperada se ejecuta a través de PowerShell.

Mientras que la versión 2.8.2 simplemente prepara las cargas útiles, la versión 2.8.3 de la gema pasa a la siguiente fase del ataque. Esto implica usar el script de instalación para iniciar el binario como un demonio en segundo plano, después de lo cual establece la persistencia usando una entrada cron y como un servicio de usuario systemd y consulta los grupos sudo y wheel.

«Si el usuario puede ejecutar sudo sin contraseña, el script se vuelve a ejecutar como root, y cuando se ejecuta como root coloca una copia raíz setuid del shell del sistema en una ruta elegida para imitar una utilidad de red», dijo StepSecurity.

Se recomienda a los usuarios que hayan instalado cualquiera de las gemas antes mencionadas que traten las máquinas y los secretos asociados como si estuvieran comprometidos. También se recomienda eliminar el demonio eliminado en «~/.local/share/gcm/», borrar los métodos de persistencia, buscar un shell setuid en «/usr/local/sbin/ping6» y rotar todas las credenciales.

«Una cuenta de RubyGems que ha permanecido inactiva durante seis o siete años no parece riesgosa para nadie», Charlie Eriksen, investigador de Aikido Security dicho. «Ese es exactamente el perfil que vale la pena tomar. De ahí proviene el nombre SleeperGem: no es un activo de atacante plantado y de largo plazo, sino una cuenta real y ordinaria que simplemente había quedado inactiva y parecía lo suficientemente inofensiva como para secuestrarla sin que nadie se diera cuenta».

RubyGems como punto muerto de filtración de datos

La divulgación se produce más de dos meses después de que RubyGems detuviera brevemente los registros de cuentas después de que los delincuentes impulsaran docenas de paquetes maliciosos como parte de una campaña coordinada de publicación de spam. Casi al mismo tiempo, los investigadores de Socket señalaron una campaña paralela que inundó el registro con 150 gemas y abusó de ellas como canal de filtración de datos.

Ciberseguridad

A principios de este mes, Mend.io reveló detalles de un ataque a la cadena de suministro de software no documentado que empleó otro conjunto de 14 paquetes RubyGems para almacenar datos de credenciales robadas.

Específicamente, se descubrió que una extensión de navegador maliciosa recopiló credenciales a través de una API accesible localmente, empaquetó la información en archivos .gem válidos completamente dentro del navegador usando JavaScript y API web estándar, y cargó esos paquetes directamente en RubyGems.org usando una clave API de RubyGems codificada.

«El botín incluyó contraseñas de texto plano, claves privadas SSH, credenciales de AWS, frases iniciales de billeteras criptográficas, números de Seguro Social, números de tarjetas de crédito y detalles de cuentas bancarias en 63 elementos de la bóveda», Maciej Mensfeld dicho.

«RubyGems no era el mecanismo de entrega aquí. Era el punto muerto: un dominio confiable y de alto tráfico donde los datos robados permanecían hasta que el atacante regresaba a buscarlos, invisible entre las cargas normales de los desarrolladores».

GemStuffer abusa de más de 150 RubyGems para filtrar datos eliminados del portal del Consejo del Reino Unido – CYBERDEFENSA.MX

Los investigadores de ciberseguridad llaman la atención sobre una nueva campaña denominada GemStuffer que se ha dirigido al repositorio RubyGems con más de 150 gemas que utilizan el registro como canal de filtración de datos en lugar de distribución de malware.

«Los paquetes no parecen diseñados para comprometer a los desarrolladores en masa», Socket dicho. «Muchos tienen poca o ninguna actividad de descarga, y las cargas útiles son repetitivas, ruidosas e inusualmente autónomas».

«En cambio, los scripts obtienen páginas de portales de servicios democráticos del gobierno local del Reino Unido, empaquetan las respuestas recopiladas en archivos .gem válidos y publican esas gemas en RubyGems utilizando claves API codificadas».

El desarrollo se produce cuando RubyGems deshabilitó temporalmente el registro de nuevas cuentas luego de lo que se describió como un gran ataque malicioso. Si bien no está claro si los dos conjuntos de actividades están relacionados, la compañía de seguridad de aplicaciones dijo que GemStuffer se ajusta al «mismo patrón de abuso», que implica el uso de paquetes recién creados con nombres basura para alojar los datos extraídos.

En un nivel alto, la campaña abusa de RubyGems como lugar para presentar el contenido del consejo eliminado. Para ello, obtiene las URL codificadas de los portales del consejo del Reino Unido, empaqueta las respuestas HTTP en archivos .gem válidos y publica esos archivos en RubyGems utilizando credenciales de registro integradas.

Ciberseguridad

En algunos casos, la carga útil incrustada dentro de la gema crea un entorno de credenciales de RubyGems temporal en «/tmp», anula la variante del entorno HOME, crea una gema localmente y la envía a RubyGems usando el interfaz de línea de comandos de gemas (CLI), en lugar de depender de las credenciales de RubyGems preexistentes en la máquina de destino.

Se ha descubierto que otras variantes de las gemas maliciosas evitan el componente CLI y prefieren cargar el archivo directamente a la API de RubyGems a través de una solicitud HTTP POST. Una vez que se han publicado las nuevas gemas, todo lo que un atacante tiene que hacer es ejecutar un comando de «búsqueda de gemas» con el nombre y la versión de la gema para acceder a los datos extraídos.

Se ha descubierto que la novedosa campaña de scraping está dirigida a los portales públicos ModernGov utilizados por Lambeth, Wandsworth y Southwark, con el objetivo de recopilar calendarios de reuniones de comités, listados de elementos de la agenda, documentos PDF vinculados, información de contacto de funcionarios y contenido de feeds RSS. No está claro cuáles son exactamente los objetivos finales, ya que la información parece ser de acceso público de todos modos.

Socket ha evaluado que la recopilación y el archivo masivos y sistemáticos de estos datos plantea la posibilidad de que el atacante pueda estar aprovechando el «acceso al portal del consejo como pivote para demostrar su capacidad contra la infraestructura gubernamental».

«Puede ser spam de registro, un gusano de prueba de concepto, un raspador automatizado que utiliza indebidamente RubyGems como capa de almacenamiento o una prueba deliberada de abuso de registro de paquetes», dijo Socket. «Pero la mecánica es intencional: generación repetida de gemas, incrementos de versión, credenciales RubyGems codificadas, envíos directos de registro y datos extraídos incrustados dentro de archivos de paquetes».

RubyGems suspende nuevos registros después de que se cargan cientos de paquetes maliciosos – CYBERDEFENSA.MX

rubígemasel administrador de paquetes estándar para el lenguaje de programación Ruby, ha suspendido temporalmente los registros de cuentas luego de lo que se describió como un «gran ataque malicioso».

«Estamos lidiando con un gran ataque malicioso contra Ruby Gems en este momento», Maciej Mensfeld, gerente senior de productos para la seguridad de la cadena de suministro de software en Mend.io, dicho en una publicación en X. «Los registros están en pausa por el momento. Cientos de paquetes involucrados, en su mayoría dirigidos a nosotros, pero algunos contienen exploits».

Visitantes de RubyGems página de registro Ahora aparecen el mensaje: «El registro de nueva cuenta se ha deshabilitado temporalmente».

Mend.io, que protege RubyGems, dijo que tiene la intención de publicar más detalles una vez que se contenga el incidente. Por el momento se desconoce quién está detrás del ataque.

Ciberseguridad

El desarrollo se produce cuando los ataques a la cadena de suministro de software dirigidos a ecosistemas de código abierto han ido en aumento, con actores de amenazas como TeamPCP comprometiendo paquetes ampliamente utilizados para distribuir malware de robo de credenciales capaz de recopilar datos confidenciales y permitir a los atacantes ampliar su alcance.

En un informe publicado el lunes, Google dijo que las credenciales robadas de los entornos afectados se han monetizado a través de asociaciones con ransomware y grupos de extorsión por robo de datos.

(Esta es una historia en desarrollo. Vuelva a consultarla para obtener más detalles).