Fueron detectados mas de 700 paquetes maliciosos usados para minería en RubyGems
Hace algunos días los investigadores de ReversingLabs dieron a conocer mediante una publicación en su blog, los resultados de un análisis del uso de typosquatting en el repositorio RubyGems. Por lo general, typosquatting se usa para distribuir paquetes maliciosos diseñados para permitir que el desarrollador desatendido cometa un error tipográfico o no note la diferencia.
El estudio reveló más de 700 paquetes, cuyos nombres son similares a los paquetes populares y difieren en detalles menores, por ejemplo, reemplazando letras similares o usando guiones bajos en lugar de guiones.
Para evitar tales medidas, las personas malintencionadas siempre están en busca de nuevos vectores de ataque. Uno de esos vectores, denominado ataque de la cadena de suministro de software, se está volviendo cada vez más popular.
De los paquetes que fueron analizados se señaló que más de 400 paquetes fueron identificados por contener componentes sospechosos de actividad maliciosa. En particular, dentro del archivo estaba aaa.png, que incluía código ejecutable en formato PE.
Sobre los paquetes
Los paquetes maliciosos incluían un archivo PNG que contenía un archivo ejecutable para la plataforma Windows en lugar de una imagen. El archivo se generó utilizando la utilidad Ocra Ruby2Exe e incluyó un archivo autoextraíble con un script Ruby y un intérprete Ruby.
Al instalar el paquete, se cambió el nombre del archivo png a exe y se inició. Durante la ejecución, se creó un archivo VBScript y se agregó al inicio automático.
El VBScript malicioso especificado en un ciclo analizó el contenido del portapapeles en busca de información similar a las direcciones de las billeteras criptográficas y en caso de detección, reemplazó el número de billetera con la expectativa de que el usuario no notaría las diferencias y transferiría los fondos a la billetera incorrecta.
Typosquatting es particularmente interesante. Usando este tipo de ataque nombran intencionalmente paquetes maliciosos para parecerse lo más posible a los populares, con la esperanza de que un usuario desprevenido escriba mal el nombre e instale involuntariamente el paquete malicioso en lugar.
El estudio mostró que no es difícil agregar paquetes maliciosos a uno de los repositorios más populares y estos paquetes pueden pasar desapercibidos, a pesar de un número significativo de descargas. Cabe señalar que el problema no es específico de RubyGems y se aplica a otros repositorios populares.
Por ejemplo, el año pasado, los mismos investigadores identificaron en el repositorio de NPM un paquete malicioso de bb-builder que utiliza una técnica similar para ejecutar un archivo ejecutable para robar contraseñas. Antes de esto, se encontró una puerta trasera dependiendo del paquete NPM de flujo de eventos y el código malicioso se descargó aproximadamente 8 millones de veces. Los paquetes maliciosos también aparecen periódicamente en los repositorios de PyPI.
Estos paquetes se asociaron con dos cuentas a través de las cuales, del 16 de febrero al 25 de febrero de 2020, se publicaron 724 paquetes maliciosos en RubyGems que en total se descargaron aproximadamente 95 mil veces.
Los investigadores han informado a la administración de RubyGems y los paquetes de malware identificados ya se han eliminado del repositorio.
Estos ataques amenazan indirectamente a las organizaciones al atacar a los proveedores externos que les proporcionan software o servicios. Dado que dichos proveedores generalmente se consideran editores de confianza, las organizaciones tienden a pasar menos tiempo verificando que los paquetes que consumen están realmente libres de malware.
De los paquetes de problemas identificados, el más popular fue el atlas-client, que a primera vista es casi indistinguible del paquete legítimo atlas_client. El paquete especificado se descargó 2100 veces (el paquete normal se descargó 6496 veces, es decir, los usuarios se equivocaron en casi el 25% de los casos).
Los paquetes restantes se descargaron en promedio 100-150 veces y se camuflaron para otros paquetes usando la misma técnica de subrayado y reemplazo de guión (por ejemplo, entre paquetes maliciosos : appium-lib, action-mailer_cache_delivery, activemodel_validators, asciidoctor_bibliography, assets-pipeline, activos-validators, ar_octopus- seguimiento de replicación, aliyun-open_search, aliyun-mns, ab_split, apns-polite).
Si quieres conocer más al respecto sobre el estudio realizado, puedes consultar los detalles en el siguiente enlace.