Se han descubierto nuevos paquetes maliciosos de RubyGems que se están utilizando en un ataque a la cadena de suministro para robar criptomonedas de usuarios desprevenidos.

RubyGems es un administrador de paquetes para el lenguaje de programación Ruby que permite a los desarrolladores descargar e integrar código desarrollado por otras personas en sus programas.

Como cualquiera puede cargar una gema en el repositorio de RubyGems, permite a los actores de amenazas cargar paquetes maliciosos en el repositorio con la esperanza de que otro desarrollador lo integre en su programa.

Si un proyecto grande integra el paquete malicioso, creará un ataque a la cadena de suministro con una amplia distribución para muchos usuarios.

Gemas maliciosas roban la criptomoneda del usuario

Hoy, la empresa de seguridad de código abierto Sonatype informó sobre dos paquetes Ruby maliciosos que instalan un secuestrador de portapapeles. Estos paquetes se hacen pasar por una biblioteca de bitcoins y una biblioteca para mostrar cadenas con diferentes efectos de color.

Un secuestrador de portapapeles monitorea el portapapeles de Windows en busca de direcciones de criptomonedas y, si se detecta una, la reemplaza con una dirección bajo el control del atacante. A menos que un usuario verifique dos veces la dirección después de pegarla, las monedas enviadas irán a la dirección de criptomoneda del atacante en lugar del destinatario previsto.

Los paquetes maliciosos se denominan ‘pretty_color-0.8.1.gem’ y ‘ruby-bitcoin-0.0.20.gem’ y contienen un script Ruby malicioso que crea scripts VBS que actúan como secuestradores del portapapeles.

Como puede ver a continuación, ruby-bitcoin-0.0.20.gem contenía un script extconf.rb que incluye una cadena codificada en base64 ofuscada.

Código Ruby que crea the_Score.vbs
Código Ruby que crea the_Score.vbs

La secuencia de comandos de Ruby incluye un comentario que contiene un saludo a Tomislav Maljic de Reversing Labs, quien previamente descubrió 760 paquetes maliciosos de Ruby que también realizaban el secuestro del portapapeles.

La cadena codificada en base64 es un archivo VBS que se ejecuta para crear otro archivo VBS malicioso y configurarlo para que se inicie automáticamente cuando un usuario inicia sesión en Windows. Este script de VBS es el secuestrador del portapapeles y se almacena en C: ProgramData Microsoft Essentials Software Essentials.vbs para hacerse pasar por el antiguo software de seguridad Microsoft Security Essentials.

El script de secuestro del portapapeles monitoreará el portapapeles de Windows cada segundo y verificará si contiene una dirección de Bitcoin, una dirección de Ethereum o una dirección de Monero sin procesar.

El script de VBS secuestrador del portapapeles
El script de VBS secuestrador del portapapeles
Fuente: BleepingComputer

Si el script detecta una dirección de criptomoneda monitoreada en el portapapeles, la reemplazará con otra dirección de criptomoneda bajo el control del atacante.

La lista de direcciones utilizadas por el atacante son:

  • Bitcoin: bc1qgmem0e4mjejg4lpp03tzlmhfpj580wv5hhkf3p
  • Ethereum: 0xcB56f3793cA713813f6f4909D7ad2a6EEe41eF5e
  • Monero: 467FN8ns2MRYfLVEuyiMUKisvjz7zYaS9PkJVXVCMSwq37NeesHJpkfG44mxEFHu8Nd9VDtcVy4kM9iVD7so87CAH2iteLg

El paquete ruby-bitcoin-0.0.20.gem se agregó a RubyGems el 7 de diciembre y tuvo 81 descargas. El paquete pretty_color-0.8.1.gem se agregó el 13 de diciembre y tuvo 61 descargas. RubyGems eliminó ambos paquetes el día después de que se agregaron al repositorio.

En este momento, ninguna de las direcciones de criptomonedas ha recibido fondos.

Los ataques a la cadena de suministro son cada vez más populares, ya que una intrusión o inclusión en un proyecto puede afectar a muchos usuarios.

Durante los dos últimos, se han descubierto proyectos maliciosos de NPM que instalan el troyano de acceso remoto njRAT o roban cuentas de Discord. Esta semana, la empresa de gestión de redes SolarWinds sufrió un ataque masivo a la cadena de suministro que afectó a cerca de 18.000 clientes, incluidas agencias gubernamentales de EE. UU.

Puede ver una demostración de un secuestrador de portapapeles más antiguo y cómo sustituyó las direcciones de Bitcoin en el video a continuación.