Скомпрометированные пакеты AsyncAPI распространяют ботнет Miasma

Команда исследователей угроз компании Socket обнаружила скомпрометированные npm-пакеты в популярном пространстве имен @asyncapi, которые тайно разворачивали многоступенчатый загрузчик ботнета. Злоумышленники использовали доверие к инструментам автоматизации API, чтобы внедрить вредоносный код непосредственно в среды разработки и процессы CI/CD.

Затронутые пакеты

Атака затронула три пакета с конкретными версиями:

  • @asyncapi/generator-helpers версии 1.1.1
  • @asyncapi/generator-components версии 0.7.1
  • @asyncapi/generator версии 3.3.1

Механизм компрометации: скрытый вызов через require()

Пакеты AsyncAPI широко применяются для генерации документации и клиентского кода на основе спецификаций AsyncAPI. Их обычно вызывают в ходе обычной разработки или в пайплайнах непрерывной интеграции (CI). Атакующие учли это: вредоносная нагрузка не нуждалась в специальном install hook, а активировалась сразу при импорте модуля.

Ключевым элементом заражения стал файл src/utils.js. В нем злоумышленники замаскировали вредоносный код с помощью избыточных пробелов. Как только исполняющая среда Node.js обрабатывает require() для этого модуля, запускается detached-процесс, ответственный за загрузку основной полезной нагрузки. Такой подход позволял избегать подозрительных сетевых вызовов на этапе установки и исполнял код в контексте легитимного приложения.

Двухэтапный загрузчик: от обфускации до ботнета

Атака реализована в два этапа:

  • Первый этап содержит зашифрованный полезный груз, который загружает и расшифровывает вторую стадию.
  • Второй этап — вредоносный фреймворк, известный как Miasma, — доставляется через пиринговую сеть IPFS (InterPlanetary File System) и сохраняется в платформозависимых директориях под видом легитимного файла sync.js.

Начальная obfuscation-схема построена на вызове команды spawn для отделения вредоносного процесса. Исследователи приводят следующий фрагмент кода, отвечающий за запуск второй стадии:

const { spawn } = require('child_process');
spawn('node', '-e', downloadStage2Code, {
    detached: true,
    stdio: 'ignore',
    windowsHide: true
}).unref();

Таким образом, индикаторы вредоносной активности тщательно скрывались от мониторинга стандартных потоков вывода, а процесс оставался независимым от родительского приложения.

Возможности ботнета Miasma

Расшифрованная вторая стадия представляет собой полнофункциональный ботнет-фреймворк, который предоставляет операторам следующие возможности:

  • выполнение команд оболочки (shell);
  • операции с файлами;
  • сбор учетных записей и аутентификационных данных;
  • техники уклонения от обнаружения;
  • закрепление в системе после перезагрузок (persistence);
  • многопротокольное C2-управление для связи с командными серверами.

Набор функций указывает на то, что целью атакующих было долговременное присутствие в скомпрометированных средах разработки и использование их в качестве узлов ботнета.

Рекомендации для пользователей AsyncAPI

Исследователи Socket призывают всех разработчиков, использующих указанные пакеты, немедленно принять меры:

  • избегать использования версий @asyncapi/generator-helpers 1.1.1, @asyncapi/generator-components 0.7.1 и @asyncapi/generator 3.3.1;
  • обновиться до исправленных версий, как только они будут опубликованы;
  • проверить локальные среды разработки и CI-окружения на наличие признаков компрометации, включая появление подозрительных файлов вроде sync.js и неожиданных дочерних процессов Node.js.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: