Исследователи в области кибербезопасности обнаружили вредоносное ПО на языке Go, распространяемое через два модуля Go и два провайдера Terraform. Это первый случай использования злоумышленниками централизованного репозитория HashiCorp в качестве вектора распространения вредоносных полезных нагрузок. По данным Aikido, список затронутых провайдеров Terraform и модулей Go включает: gocommunity-io/dockerd (222 загрузки) и kreuzwenker/. Вредоносное ПО, развернутое через эти пакеты, демонстрирует совпадения с кампанией Graphalgo, впервые задокументированной ReversingLabs в феврале и приписываемой северокорейским (КНДР) злоумышленникам. В рамках этой кампании потенциальных разработчиков привлекают через социальные платформы, такие как LinkedIn и Facebook, или через предложения о работе на форумах, выдавая себя за несуществующие Web3-компании. Затем их просят выполнить задание по написанию кода, предоставив безобидный репозиторий GitHub, который вводит вредоносное поведение через зависимость, опубликованную в npm или PyPI. Стоит отметить, что последнее открытие совпадает с обнаружением на этой неделе нового набора вредоносных пакетов npm для доставки того же вредоносного ПО. Список некоторых помеченных пакетов, как подчеркнули Checkmarx, JFrog и SafeDep, выглядит следующим образом: Анализ этих пакетов показывает, что в некоторых случаях выполнение вредоносного ПО запускается только при выполнении определенной криптографической операции, демонстрируя все признаки целенаправленной операции. «Полезная нагрузка расшифровывается только тогда, когда жертва решает линейную систему с одной конкретной матрицей, получает команды из смарт-контракта в тестовой сети Ethereum Sepolia, поддерживает второй канал команд через Slack и скрывается за счет количества загрузок, созданного фермой рабочих GitHub Actions», — заявили в JFrog. Цепочка атак прокладывает путь к зашифрованной полезной нагрузке, точные функции которой остаются неизвестными из-за шифрования с использованием асимметричной криптографии. Имплантат также разработан для связи с каналом Slack, опрашивая конечную точку «conversations.history» каждые 10 секунд и выполняя следующее действие в зависимости от типа пакета. «Блокчейн-путь также расшифровывает удаленные данные, записывает поднаблюдателя и запускает его с помощью Node.js», — заявили в SafeDep. «Эти пути позволяют оператору доставлять код для выполнения на хосте, где требуется настройка. Мы восстановили имплантат, но не последующий код, доставленный через эти каналы. Поэтому мы не можем сказать, какие задачи выполнял оператор на жертве». Aikido сообщил, что вредоносное ПО, распространяемое через провайдеры Terraform и модули Go, является портом на Go, который использует ту же блокчейн- и Slack-инфраструктуру, что и версия для npm. Оно имеет двойные каналы управления и контроля (C2), используя блокчейн-«мертвые ящики» и токен бота Slack. Вначале оно собирает информацию о системе, включая атрибуты оборудования, операционную систему, имя хоста и доступность узла в зараженной системе. Собранные данные затем передаются на контролируемый злоумышленником канал Slack через API. «После звонка для регистрации вредоносное ПО генерирует временную пару открытого и закрытого ключей», — сказал исследователь безопасности Оливер Смит. «Вредоносное ПО генерирует общие ключи, комбинируя свой временный ключ с двумя открытыми ключами злоумышленника. Общий ключ позволяет вредоносному ПО обмениваться данными с зараженными клиентами, используя общие каналы, без раскрытия коммуникаций C2 или утечки сообщений между зараженными хостами». Блокчейн-ориентированный C2 извлекает данные из смарт-контракта Ethereum в тестовой сети Arbitrum Sepolia, используя жестко закодированный адрес контракта, и опрашивает зашифрованные команды каждые три секунды. Команды затем выполняются либо как код Go, либо как JavaScript. «Механизм C2 является дальнейшим свидетельством того, что это вредоносное ПО является частью целенаправленной операции», — сказал Смит. «Способность злоумышленника выдавать команды является узким местом, поскольку все клиенты потребляют все сообщения и ничего не делают, если не могут расшифровать сообщения, предназначенные для других клиентов». «Это заметно сложная реализация блокчейн-«мертвого ящика», которая интегрирует двустороннюю связь с минимальным риском утечки информации или сбоев», — сказал The Hacker News исследователь безопасности Socket Карло Занки. Graphalgo продолжает придерживаться того же операционного плана, вероятно, используя поддельные собеседования в качестве основного вектора первоначального доступа. «Выполнение контролируется базовой проверкой данных, вероятно, предоставленных фронтенд-компонентом», — сказал Занки. «Хотя такое поведение может указывать на узкоспециализированную деятельность, оно, скорее всего, предназначено для затруднения анализа, если исследователи обнаружат бэкенд-полезную нагрузку без соответствующего фронтенда. Исходная операция Graphalgo демонстрировала ту же характеристику». Появление провайдеров Terraform является новой тактикой, но, возможно, вполне предсказуемой, поскольку она может обеспечить более прямой путь к критически важным производственным учетным данным, добавили в Aikido. Это также иллюстрирует, что злоумышленник расширяет охват кампании, выходя за рамки npm и PyPI. Однако это не первый случай, когда северокорейские противники прибегают к использованию провайдеров Terraform для распространения вредоносного ПО. В отчете, опубликованном на прошлой неделе, SentinelOne подробно описал, как кластер вредоносной активности под кодовым названием TraderTraitor полагался на оружизированные файлы блокировки Terraform для облегчения доставки бэкдоров на основе Rust из пользовательских реестров провайдеров Terraform, контролируемых злоумышленниками. «Слишком рано делать уверенные выводы о том, что злоумышленники, связанные с КНДР, используют реестры Terraform как новую тактику распространения», — сказал Занки. «Тем не менее, их недавнее появление в двух отдельных кампаниях, связанных с этими операторами, делает совпадение маловероятным. Эти злоумышленники имеют историю внедрения новых методов заражения и применения успешных методов в нескольких кампаниях». «Связанные с КНДР злоумышленники очень адаптивны и постоянно расширяют свои наборы инструментов методами, которые могут охватить широкий круг целей. Реестры Terraform могут представлять собой следующий канал распространения, который они примут в масштабе». Это развитие происходит на фоне того, как CloudSEK выделил ранее не сообщавшийся загрузчик JavaScript под названием GHAPPIER, который распространялся после компрометации законного пакета npm «@dforge-core/dforge-mcp». В настоящее время неизвестно, как злоумышленникам удалось получить доступ к учетной записи сопровождающего, хотя предполагается, что машина разработчика могла быть заражена вредоносным расширением или пакетом. Основная цель загрузчика — извлечь код с сервера, контролируемого оператором, и запустить его, позволяя злоумышленнику динамически изменять полезные нагрузки во время выполнения. Сообщается, что вредоносная версия (0.2.21) находилась в npm в течение 35 минут и 38 секунд 9 сентября 2026 года, прежде чем первоначальный сопровождающий отменил изменения и опубликовал чистую версию (0.2.22). Тот же загрузчик был замечен в 65 общедоступных репозиториях, принадлежащих 22 различным учетным записям. «В каждом случае они достигали их одинаково: оператор получал сохраненные учетные данные разработчика, а затем использовал эти учетные данные для записи в каждый репозиторий, в который разработчик мог отправлять данные», — сказал исследователь CloudSEK Викас Кунду. Сравнение двух копий загрузчика — одной из пакета npm и другой, полученной из репозитория второго пострадавшего — выявило, что цепочка атак использует один и тот же хост промежуточного хранения и запрос к домену Vercel, но отличается используемым тегом кампании («ghappier» против «g0115»). Интересно, что вторая полезная нагрузка была замечена с использованием техники NullReceiver для получения своего C2-адреса («193.247.144[.]38») из кошелька злоумышленника и имеет ту же конечную последовательность байтов («68656c6c6f6970626f742121»), которая декодируется в строку «helloipbot!!». Эта активность совпадает с давней кампанией, связанной с Северной Кореей, известной как PolinRider. Выводы также следуют за предупреждением от проекта Rust о продолжающейся кампании, нацеленной на членов rust-lang и владельцев популярных крейтов с целью компрометации их устройств и учетных записей для распространения вредоносного ПО. «Видеозвонок настраивается для чего-то позитивного — возможно, для работы, проекта или контрактной возможности — а затем используется как вектор, чтобы либо заставить цель установить что-то на свой компьютер (например, якобы отсутствующий аудиокодек), либо выполнить другую команду (например, поместив команду в буфер обмена)», — сказал Адам Харви, разработчик в Rust Foundation. «Эти злоумышленники создают новые, но выглядящие законно профили компаний, включая правдоподобное присутствие в LinkedIn, чтобы пройти поверхностную проверку». Проект Rust заявил, что modus operandi совпадает с кампанией Contagious Interview, связанной с Северной Кореей, призывая участников и владельцев крейтов проявлять осторожность, убедиться, что включена многофакторная аутентификация (MFA), и проверять свои учетные записи на наличие неожиданных входов в систему.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Ravie Lakshmanan




