StubMaker атакует RubyGems и npm: пакеты с опечатками доставляют стиллер
Киберпреступная кампания StubMaker одновременно targeting? (Need not use wrong English) targeted ecosystems RubyGems and npm, используя пакеты с опечатками (typosquatting). Вредоносные пакеты доставляли Windows-загрузчик и стиллер на базе Go. Всего операция затронула 16 пакетов RubyGems и 37 пакетов npm.
Масштаб и распространение кампании
Пакеты npm были опубликованы в течение восьми минут — начиная с . К они были удалены. Распространение осуществлялось как минимум через пять npm-аккаунтов, связанных общими адресами Gmail.
Кампания против RubyGems использовала три аккаунта. В число вредоносных пакетов входили typosquatted-варианты популярных библиотек и инструментов:
brumdler;brundlef;bundler;i18n;rake;activesupport.
Общие признаки, связавшие атаки
Исследователи связали кампании npm и Ruby с одним и тем же актором. Установщики из обеих экосистем подключались к адресу 193.70.34.101:20099/vote и загружали идентичный Windows-загрузчик с GitHub:
github.com/bebraz1/qPzM50V1AKG0rVlH/releases/download/null/main.exe
Загрузчик на Rust расшифровывал встроенный Go-стиллер непосредственно в памяти. Благодаря этому вредоносной программе не требовалось загружать отдельный второй этап на диск или обращаться к дополнительному серверу для его получения.
Различия в механизмах доставки
Способы запуска вредоносного кода отличались в зависимости от используемой экосистемы.
- RubyGems. Пакеты злоупотребляли файлом
extconf.rbи подделывали файлы сборки, создавая видимость успешной установки вредоносных native extensions. Установщик декодировал URL загрузчика из Base64. - npm. Пакеты использовали стандартный lifecycle hook
postinstall.js, который автоматически выполняется во время установки. Для сокрытия URL загрузчика применялся повторяющийся XOR с жёстко заданным ключомstf2026.
Какие данные похищал стиллер
Go-стиллер был ориентирован на широкий набор конфиденциальной информации, включая:
- учётные данные браузеров;
- аутентифицированные browser sessions;
- данные платёжных карт;
- криптокошельки и seed-фразы;
- данные Telegram;
- информацию о заражённом хосте.
Похищенные сведения загружались на Gofile. Полученная ссылка затем передавалась на webhook dresslee.com по незашифрованному HTTP, что позволяло перехватывать этот обмен на уровне сети.
Индикаторы компрометации
К ключевым индикаторам компрометации (Indicators of Compromise, IoC) относятся адрес Command and Control, URL релиза на GitHub, хеши вредоносных файлов и названия пакетов.
- C2:
193.70.34.101:20099/vote; - URL загрузчика:
github.com/bebraz1/qPzM50V1AKG0rVlH/releases/download/null/main.exe; - SHA-256 Windows-загрузчика:
6f088ade49456db2422c3edfbb9998f4a3e9cce7c4c00a7279fb45d672a82b7d; - SHA-256 встроенного Go-стиллера:
1afff50ca4064310d3492c652e1c3168216dcb42063e0b26c223038db46b8731; - SHA-256 вспомогательной DLL ABE, связанной с Ruby:
67719fa6fcaa97936bf678565d6777db5c194e14efeba16864be8dac966e24bc; - Вредоносные RubyGems-пакеты:
brumdler,brundlef,bundler,i18n,rake,activesupport.
Кампания демонстрирует, что атаки на supply chain затрагивают сразу несколько package ecosystems. Использование typosquatting, автоматических install hooks и методов выполнения кода в памяти позволяет злоумышленникам маскировать вредоносную активность под обычную установку зависимостей.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



