ИБ-исследователи из компании ReversingLabs сообщили об обнаружении 725 вредоносных библиотек, похищавших содержимое буфера обмена, в официальном репозитории RubyGems. Полный список библиотек можно увидеть здесь.
Вредоносные пакеты были загружены в RubyGems в период с 16 по 25 февраля 2020 с двух учетных записей: JimCarrey и PeterGibbons. Исследователи пишут, что малварь была удалена из RubyGems еще 27 февраля, через два дня после того, как ReversingLabs уведомила разработчиков о своей находке.
Все обнаруженные вредоносны были клонами различных легитимных библиотек. Они использовали технику typosquatting, то есть имели нарочито похожие на оригиналы имена, и даже работали по назначению, но также содержали дополнительные вредоносные файлы.
Дополнительный файл, встроенный в каждый такой пакет, носил название aaa.png. Несмотря на расширение, этот файл не был изображением PNG. На самом деле он представлял собой исполняемый файл Windows PE. Установка любой из вредоносных библиотек вызвала цепочку следующих действий:
- PE-файл создавал Ruby-скрипт с именем aaa.rb, содержащий интерпретатор Ruby и все необходимые зависимости для запуска;
- этот скприт создавал скрипт Visual Basic с именем oh.vbs;
- скрипт создавал в реестре ключ для автозапуска;
- ключ автозапуска выполнял второй скрипт Visual Basic каждый раз, когда компьютер запускался или перезагружался;
- второй скрипт перехватывал данные, отправленные в буфер обмена, и искал среди них шаблоны, похожие на адреса криптовалютных кошельков, и подменял их на кошелек злоумышленника.
ReversingLabs пишут, что эти библиотеки были загружены тысячами пользователей. Однако судя по Bitcoin-адресу злоумышленника, за все время активность кампании ему так и не удалось перехватить какие-либо платежи, подменив адрес на собственный.
Исследователи полагают, что за этой атакой стоит тот же человек или группировка, которая загружала вредоносные библиотеки в RubyGems ранее, в 2018 и 2019 годах. Оба инцидента отличались использованием схожих методов, а целью тоже была кража криптовалюты у пользователей.