База данных угроз Вредоносное ПО Вредоносная программа CanisterWorm

Вредоносная программа CanisterWorm

Изощрённая атака на цепочку поставок, первоначально направленная на широко используемый сканер Trivy, переросла в более масштабное взлом, затронувший многочисленные пакеты npm. Предполагается, что злоумышленники, стоящие за этой кампанией, использовали ранее не описанный самораспространяющийся червь под названием CanisterWorm, что значительно увеличило масштаб и последствия вторжения.

Свое название вредоносная программа получила благодаря использованию в качестве части своей командной инфраструктуры контейнеров ICP (Internet Computer Protocol) — защищенных от несанкционированного доступа смарт-контрактов, размещенных на децентрализованном блокчейне. Это первый публично задокументированный случай использования контейнеров ICP в качестве оружия для получения доступа к конечным точкам управления и контроля (C2), что представляет собой новую и надежную тактику, усложняющую традиционные методы защиты.

Взломанные пакеты и вектор первоначального доступа

Атака затронула множество пакетов npm различного масштаба, что демонстрирует широкий радиус поражения в цепочке поставок программного обеспечения:

  • 28 пакетов в рамках проекта @EmilGroup
  • 16 пакетов в рамках проекта @opengov
  • Дополнительные пакеты, включая @teale.io/eslint-config, @airtm/uuid-base32 и @pypestream/floating-ui-dom

Эта кампания последовала вскоре после взлома учетных данных, который позволил злоумышленникам опубликовать вредоносные версии инструментов, связанных с Trivy, в частности trivy, trivy-action и setup-trivy, содержащие встроенные функции кражи учетных данных. Предполагается, что операция связана с киберпреступной группой, специализирующейся на облачных технологиях, известной как TeamPCP.

Организация процесса инфицирования и децентрализованная инфраструктура управления

Цепочка заражения начинается в процессе установки пакета npm, где скрипт postinstall запускает загрузчик. Этот загрузчик развертывает бэкдор на основе Python, предназначенный для взаимодействия с контейнером ICP. Контейнер действует как средство разрешения ложных срабатываний, возвращая URL-адрес, который направляет зараженную систему на загрузку и выполнение полезной нагрузки следующего этапа.

Децентрализованный характер инфраструктуры ICP предоставляет злоумышленникам значительное преимущество. Поскольку контейнер может динамически обновлять URL-адрес полезной нагрузки, злоумышленники могут распространять новые вредоносные бинарные файлы по всем зараженным системам, не изменяя при этом само развернутое вредоносное ПО. Такая архитектура также значительно усложняет попытки нейтрализации вредоносного ПО.

Механизмы удержания и методы скрытности

Устойчивость достигается за счет создания службы пользователя systemd, настроенной на автоматический перезапуск вредоносного процесса. Ключевые характеристики включают:

  • Автоматический перезапуск обеспечивается директивой Restart=always.
  • При завершении работы программы перед повторным запуском бэкдора возникает 5-секундная задержка.
  • Замаскировав сервис под легитимное программное обеспечение для мониторинга PostgreSQL под названием «pgmon».

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

Адаптивная доставка полезной нагрузки и поведение аварийного выключателя

Бэкдор периодически, каждые 50 минут, обменивается данными с контейнером ICP, используя поддельный User-Agent браузера, чтобы избежать подозрений. Полученный URL-адрес определяет следующее действие:

  • Если URL-адрес указывает на допустимую полезную нагрузку, вредоносная программа загружает и выполняет её.
  • Если URL-адрес содержит 'youtube.com', вредоносная программа переходит в спящее состояние.

Этот механизм фактически служит удаленным аварийным выключателем. Переключая URL-адрес контейнера между безобидной ссылкой на YouTube и вредоносной полезной нагрузкой, злоумышленник может активировать или деактивировать вредоносное ПО на всех зараженных системах. Примечательно, что ранее запущенные полезные нагрузки продолжают работать в фоновом режиме, поскольку вредоносное ПО не завершает предыдущие процессы.

Аналогичный механизм аварийного отключения, основанный на YouTube, был также обнаружен в троянизированном бинарном файле Trivy (версия 0.69.4), который взаимодействует с той же инфраструктурой ICP через отдельный Python-дроппер.

Возможности червей и автоматическое распространение

Первоначально распространение осуществлялось с помощью скрипта deploy.js, запускаемого вручную, который использовал украденные токены аутентификации npm для внедрения вредоносного кода в доступные пакеты. Этот скрипт не запускался во время установки, а служил самостоятельным инструментом для расширения масштабов атаки.

Последующие варианты CanisterWorm значительно эволюционировали. В более новых версиях, таких как те, что находятся в @teale.io/eslint-config (версии 1.8.11 и 1.8.12), червь интегрирует самораспространение непосредственно в процесс установки пакета. Обновленный механизм включает в себя:

  • Извлечение токенов аутентификации npm из зараженной среды.
  • Немедленное выполнение процедуры распространения в качестве отдельного фонового процесса.
  • Автоматическая публикация скомпрометированных пакетов с использованием собранных учетных данных.

Этот сдвиг превращает атаку из кампании, управляемой вручную, в полностью автономную систему распространения.

Эскалация в самоподдерживающуюся угрозу для цепочки поставок

Внедрение автоматического сбора токенов и самораспространения знаменует собой критическую эскалацию. Любая рабочая станция разработчика или конвейер CI/CD, устанавливающий скомпрометированный пакет и содержащий доступные учетные данные npm, становится активным узлом распространения. Это создает каскадный эффект, при котором зараженные пакеты приводят к дальнейшему заражению зависимостей.

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

Ситуацию усугубляет тот факт, что такие тестовые материалы, как тестовая полезная нагрузка-заглушка («hello123»), указывают на то, что злоумышленники активно совершенствуют и проверяют цепочку атак перед развертыванием полностью работоспособных вредоносных бинарных файлов.

В тренде

Наиболее просматриваемые

Загрузка...