Código malicioso detectado en rest-client y otros 10 paquetes de Ruby

En un paquete de gemas populares descanso-cliente, con un total de 113 millones de descargas, identificado Sustitución de código malicioso (CVE-2019-15224) que descarga comandos ejecutables y envía información a un host externo. El ataque se llevó a cabo a través de compromiso cuenta de desarrollador rest-client en el repositorio rubygems.org, después de lo cual los atacantes publicaron las versiones 13-14 el 1.6.10 y 1.6.13 de agosto, que incluían cambios maliciosos. Antes de que se bloquearan las versiones maliciosas, alrededor de mil usuarios lograron descargarlas (los atacantes lanzaron actualizaciones a versiones anteriores para no llamar la atención).

El cambio malicioso anula el método "#authenticate" en la clase
Identidad, después de lo cual cada llamada al método da como resultado que el correo electrónico y la contraseña enviados durante el intento de autenticación se envíen al host de los atacantes. De esta manera, se interceptan los parámetros de inicio de sesión de los usuarios del servicio que utilizan la clase Identity e instalan una versión vulnerable de la biblioteca rest-client, lo que aparece como dependencia en muchos paquetes populares de Ruby, incluidos ast (64 millones de descargas), oauth (32 millones), fastlane (18 millones) y kubeclient (3.7 millones).

Además, se ha agregado una puerta trasera al código, lo que permite ejecutar código Ruby arbitrario a través de la función eval. El código se transmite a través de una cookie certificada por la clave del atacante. Para informar a los atacantes sobre la instalación de un paquete malicioso en un host externo, se envía la URL del sistema de la víctima y una selección de información sobre el entorno, como contraseñas guardadas para el DBMS y los servicios en la nube. Los intentos de descargar scripts para minar criptomonedas se registraron utilizando el código malicioso mencionado anteriormente.

Después de estudiar el código malicioso se reveladoque cambios similares están presentes en 10 paquetes en Ruby Gems, que no fueron capturados, pero fueron preparados especialmente por atacantes basándose en otras bibliotecas populares con nombres similares, en las que el guión fue reemplazado por un guión bajo o viceversa (por ejemplo, basado en analizador cron Se creó un paquete malicioso cron_parser, y basado en doge_coin paquete malicioso doge-coin). Paquetes de problemas:

El primer paquete malicioso de esta lista se publicó el 12 de mayo, pero la mayoría apareció en julio. En total, estos paquetes se descargaron unas 2500 veces.

Fuente: opennet.ru

Añadir un comentario