Исследовательская команда Nextron Threat Research Team опубликовала углубленный анализ двух вредоносных имплантов, написанных на языке Rust, которые были обнаружены в поддельном расширении для редактора кода Visual Studio Code (VS Code). Ранее эксперты сообщили об обнаружении зловредного дополнения, маскировавшегося под популярную тему оформления «Material Icon Theme». Теперь же специалисты детально изучили функционал встроенных бэкдоров, которые активировались при запуске расширения.
Описание
Импланты, условно обозначенные как [1] и [2], исполнялись сразу после активации расширения. Загрузчик, представленный файлом extension.js [3], находился в той же директории "dist/extension/desktop/". Злоумышленники намеренно разместили вредоносные компоненты в этой папке, поскольку легитимное расширение «Material Icon Theme» использует аналогичную структуру. Таким образом, маскировка под легальные файлы помогала избежать подозрений. На системах Windows расширение обращалось к библиотеке "os.node", а на macOS - к "darwin.node".
Ключевой особенностью данных имплантов является использование блокчейна Solana для получения команд от центра управления (C2). Оба вредоносных модуля извлекали инструкции, обращаясь к заданному кошельку в сети Solana [4]. Этот метод уже был ранее описан компанией Koi Security в связи с образцами угрозы GlassWorm, что указывает на возможную связь кампаний или повторное использование техник. После получения данных с блокчейна имплант декодировал контент из формата base64 и загружал полезную нагрузку следующего этапа (next-stage payload) с указанного сервера C2 [5].
Механизм работы сервера управления также демонстрирует сходство с GlassWorm. В ответ на запрос C2 передавал большой blob данных в кодировке base64, который после расшифровки оказывался JavaScript-файлом, зашифрованным по алгоритму AES-256-CBC [6]. При этом имплант был способен получать следующую стадию как с основного сервера [7], так и, в качестве резервного варианта, из события в Google Календаре [8]. Для сокрытия резервного адреса C2 в названии события календаря злоумышленники использовали невидимые символы Юникода [9], что усложняло обнаружение этой техники.
Использование публичного блокчейна Solana в качестве канала командования является относительно новым и сложным для блокировки методом. В отличие от традиционных серверов, адреса в блокчейне децентрализованы и устойчивы к изъятию. Более того, резервный канал через Google Календарь демонстрирует стремление злоумышленников обеспечить устойчивость (persistence) своей инфраструктуры.
Данный инцидент подчеркивает растущую изощренность атак на цепочку поставок программного обеспечения. Злоумышленники все чаще нацеливаются на популярные платформы для разработчиков, такие как VS Code, используя доверие к легитимным репозиториям расширений. Специалисты по безопасности рекомендуют разработчикам тщательно проверять источники устанавливаемых дополнений, обращать внимание на репутацию авторов и анализировать историю обновлений. Кроме того, необходимо внедрять мониторинг сетевой активности и нестандартных соединений, особенно исходящих из сред разработки, которые часто считаются доверенными.
Индикаторы компрометации
URLs
- http://217.69.11.60/get_arhive_npm/karMkkT87qcssRoaHL1zYQ==
- http://217.69.11.60/get_zombi_payload/uVK7ZJefmiIoJkIP6lxWXw%3D%3D
- http://217.69.11.60/uVK7ZJefmiIoJkIP6lxWXw==
- https://calendar.google.com/calendar/share?slt=1AXs0gW2ChIx550BJk0lEThoZf3_QvWIH_3UnB8o6GmkFhmRz2tKPa6Vqjn9sGOVi4_9apgcG27TRSQ
SHA256
- 6ebeb188f3cc3b647c4460c0b8e41b75d057747c662f4cd7912d77deaccfd2f2
- 9212a99a7730b9ee306e804af358955c3104e5afce23f7d5a207374482ab2f8f
- c32379e4567a926aa0d35d8123718e2ebeb15544a83a5b1da0269db5829d5ece
- fb07743d139f72fca4616b01308f1f705f02fda72988027bc68e9316655eadda