Вредоносное ПО впервые проникло в реестр HashiCorp через фальшивые Terraform-провайдеры

· Безопасность
Исследователи обнаружили Go-вредонос, распространявшийся через два Terraform-провайдера и два Go-модуля в реестре HashiCorp. Это первый случай использования централизованного репозитория HashiCorp как канала доставки вредоносной нагрузки.

cover.svg

Специалисты компании Aikido сообщили о вредоносном ПО на языке Go, которое злоумышленники распространяли сразу через несколько каналов реестра HashiCorp. Впервые централизованный репозиторий HashiCorp был использован как вектор доставки вредоносной нагрузки.

В списке заражённых пакетов — два Terraform-провайдера (gocommunity-io/dockerd, 222 загрузки, и kreuzwenker/docker, 1449 загрузок) и два Go-модуля (gocommunity.io/orderedbtree и gogets.dev/btreex). Код пересекается с кампанией Graphalgo, впервые описанной ReversingLabs в феврале и приписанной северокорейской группировке.

Как ведут жертву

Схема начинается за пределами кода: разработчиков находят в LinkedIn и Facebook или через объявления о работе, выдавая себя за несуществующие Web3-компании, после чего предлагают выполнить «тестовое задание» с внешне безобидным репозиторием, куда вредоносное поведение внедряется через зависимость из npm или PyPI. Одновременно, по данным Checkmarx, JFrog и SafeDep, на этой неделе всплыла новая партия npm-пакетов, доставлявших тот же зловред.

Изощрённая механика

Нагрузка зашифрована асимметричной криптографией, поэтому её конечные функции остаются неизвестными. Как отмечает JFrog, в ряде случаев расшифровка запускается только при решении жертвой линейной системы с одной конкретной матрицей — явный признак прицельной операции. Управление ведётся сразу по двум каналам: через смарт-контракт в тестовой сети Ethereum (Sepolia в npm-версии, Arbitrum Sepolia — в Go-порте) и через бот Slack, у которого зловред каждые несколько секунд опрашивает историю переписки.

Go-версия при запуске собирает сведения о системе — оборудование, ОС, имя хоста — и отправляет их в подконтрольный канал Slack. Затем она генерирует эфемерную пару ключей и, комбинируя её с двумя публичными ключами злоумышленников, вычисляет общий ключ. Так, по словам исследователя Оливера Смита, вредонос общается с командным сервером, не раскрывая переписку и не допуская утечки сообщений между заражёнными узлами. Число загрузок, к слову, накручивалось фермой из GitHub Actions.

Новый вектор поставок?

Появление Terraform-провайдеров логично: они ведут напрямую к критическим учётным данным продакшена. Как напоминает Aikido, неделей ранее SentinelOne описала группу TraderTraitor, доставлявшую Rust-бэкдоры через собственные реестры Terraform. Карло Занки из Socket считает пока преждевременным окончательный вывод, но два независимых случая делают совпадение маловероятным: реестры Terraform могут стать следующим массовым каналом распространения у северокорейских группировок.

Параллельно проект Rust предупредил о кампании против мейнтейнеров популярных крейтов: под видом видеозвонка о работе или контракте жертву склоняют установить «недостающий кодек» или выполнить команду. Почерк совпадает с известной операцией Contagious Interview.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.