La empresa ReversingLabs resultados del análisis de uso en el repositorio de RubyGems. Normalmente, el type squatting se utiliza para distribuir paquetes maliciosos, esperando que un desarrollador descuidado cometa un error tipográfico o no note la diferencia. En el estudio, se identificaron más de 700 paquetes cuyos nombres son similares a paquetes populares y difieren solo en detalles menores, como el uso de letras similares o el uso de guiones bajos en lugar de guiones.
En más de 400 paquetes se encontraron componentes sospechosos de llevar a cabo acciones maliciosas. En particular, había un archivo aaa.png que incluía código ejecutable en formato PE. Estos paquetes estaban vinculados a dos cuentas a través de las cuales, del 16 al 25 de febrero de 2020, se publicaron , que en total fueron descargados aproximadamente 95 mil veces. Los investigadores informaron a la administración de RubyGems y los paquetes maliciosos identificados ya han sido eliminados del repositorio.
Entre los paquetes problemáticos identificados, el más popular fue «atlas-client», que a primera vista es prácticamente indistinguible del paquete legítimo «». Este paquete se descargó 2100 veces (mientras que el paquete normal fue descargado 6496 veces, es decir, los usuarios se equivocaron casi en el 25% de los casos). Los demás paquetes fueron descargados en promedio 100-150 veces y se camuflaron bajo otros paquetes utilizando técnicas similares de reemplazo de guiones bajos y guiones (por ejemplo, entre : appium-lib, action-mailer_cache_delivery, activemodel_validators, asciidoctor_bibliography, assets-pipeline, apress_validators, ar_octopus-replication-tracking, aliyun-open_search, aliyun-mns, ab_split, apns-polite).
Los paquetes maliciosos incluían un archivo PNG en el que, en lugar de la imagen, había un archivo ejecutable para plataformas Windows. El archivo se generó usando la herramienta Ocra Ruby2Exe e incluía un archivo autoextraíble con un script Ruby y un intérprete Ruby. Al instalar el paquete, el archivo PNG se renombraba a EXE y se ejecutaba. Durante la ejecución, se creaba y añadía a la autoejecución un archivo VBScript. El VBScript malicioso mencionado analizaba en un ciclo el contenido del portapapeles en busca de información que recordara direcciones de criptobolsillos y, en caso de detectar alguna, sustituía el número de la billetera, esperando que el usuario no notara la diferencia y transfiriera fondos a la billetera equivocada.
La investigación llevada a cabo mostró que no es difícil lograr la inclusión de paquetes maliciosos en uno de los repositorios más populares, y estos paquetes pueden permanecer desapercibidos, a pesar de un número considerable de descargas. Cabe señalar que el problema de RubyGems también afecta a otros repositorios populares. Por ejemplo, el año pasado los mismos investigadores en el repositorio NPM un paquete malicioso llamado bb-builder, que utiliza una técnica similar para ejecutar un archivo con el fin de robar contraseñas. Antes de esto, se había encontrado un backdoor aparecen periódicamente La empresa ReversingLabs publicó los resultados de un análisis sobre el uso
Fuente: opennet.ru
