icons-vscode: RustImplant в VS Code маскируется под легитимное расширение

Вредоносное расширение VS Code под названием icons-vscode было опубликовано пользователем bphpburn и замаскировано под легитимный пакет vscode-icons. Для компрометации сред разработки оно использовало скомпилированный загрузчик на базе Rust.

Вредоносный код находился в Mach-O

Код активации расширения загружал нативный модуль .node с именем darwin.node. Благодаря этому основной вредоносный код размещался в бинарном файле Mach-O, а не в JavaScript. Такой подход позволял обходить статический анализ, ориентированный на JavaScript.

Бинарный файл регистрировался через точку входа napi_register_module_v1 Node.js и экспортировал нативную функцию rustImplantRun. JavaScript-код расширения вызывал её следующим образом:

require('./darwin.node').run()

Компонент на Rust содержал логику антианализа и контроля выполнения. В бинарный файл был встроен профилировщик среды на JavaScript, который проверял параметры системы до запуска основной функциональности.

Проверка на признаки российского региона

Профилировщик анализировал имена пользователей, сведения о локали, языковые настройки и часовые пояса. Он искал индикаторы, связанные с Россией и более широким регионом СНГ, включая:

  • ru_RU;
  • значение Russian;
  • московский и калининградский часовые пояса.

При обнаружении признаков русского языка или региональной принадлежности имплант завершал работу без видимой активности. Вероятно, это снижало риск обнаружения со стороны местных специалистов по информационной безопасности и средств автоматизированного анализа.

Связь с GLASSWORM

Конфигурация образца хранилась во встроенном блоке данных. Её восстановили в ходе анализа цикла дешифрования, использующего многобайтовый XOR.

В результате дешифрования был обнаружен адрес кошелька Solana BjVeAjPrSKFiingBn4vZvghsGj9KCE8AJVtbc9S8o8SC. Согласно отчётности из открытых источников, он связан с GLASSWORM.

Внедрение, по-видимому, использует HTTP-функциональность статически связанных библиотек Rust, таких как hyper или reqwest. Эти компоненты могут применяться для обработки ответов и получения данных, связанных с кошельком через API, вместо реализации собственного протокола управления.

Возможный Rust-загрузчик

Вредоносное ПО отслеживается под именем RustImplant. Его оценивают как возможный вариант загрузчика на базе Rust, связанный с GLASSWORM.

Сетевая активность импланта может оставаться скрытой во время выполнения в песочнице, если среда анализа не обойдёт проверки географического ограничения, geofencing.

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

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

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