Open VSX: вредоносное расширение VS Code с C2 на Solana
Недавнее расследование выявило вредоносное расширение в каталоге Open VSX, которое уже собрало более 5000 загрузок и представляет серьёзную угрозу для разработчиков. Расширение маскируется под законный пакет, частично клонированный из языковой службы Angular, но содержит встроенный вредоносный загрузчик, активирующийся при открытии файлов HTML или TypeScript в Visual Studio Code (VS Code).
Это расширение оснащено сложным вредоносным ПО, которое активируется при открытии любого файла HTML или TypeScript в Visual Studio Code (VS Code).
Как работает эксплойт
Атака основана на выполнении вредоносного загрузчика, встроенного в легитимную кодовую базу. Ключевые технические особенности:
- Вредоносный компонент использует Node.js криптомодуль для настройки процесса расшифровки AES-256-CBC.
- Расшифрованный JavaScript выполняется через
eval(), что даёт полный доступ к API VS Code и к файловой системе. - Перед выполнением команд вредоносное ПО _проверяет язык_ среды, чтобы запускаться только в целевых окружениях.
- Создаются скрытые файлы для мониторинга состояния выполнения на разных платформах.
Командование и управление (C2): Solana и Etherhiding
Инфраструктура C2 использует блокчейн Solana с техникой, известной как Etherhiding. Особенности канала управления:
- В поле «Памятка учетной записи» (account memo) на Solana помещается URL в кодировке Base64, откуда загружаются дополнительные полезные данные.
- Поле памятки может динамически обновляться, что обеспечивает непрерывную связь и извлечение полезной нагрузки.
- При нарушении основных каналов связи вредоносное ПО способно искать новые адреса серверов через внешнюю ссылку в Google Calendar.
Цели и возможности кражи данных
Расширение явно ориентировано на разработчиков и владельцев рабочих окружений. Основные цели и функции:
- Сбор конфиденциальных данных: токены аутентификации из NPM и GitHub, сканирование конфигурационных файлов и кэшированных учетных данных.
- Проверка легитимности токенов через быстрые API-вызовы.
- Кража криптовалюты: нацелено на более чем 60 типов кошельков.
- Агрессивная тактика по получению доступа к данным браузеров — уничтожение процессов в Chrome и Firefox для доступа к базам данных и сохранённым паролям.
- Сбор и отправка украденной информации посредством скрытых POST-запросов на указанный IP-адрес.
Укрепление присутствия и обходы обнаружения
Вредоносное ПО применяет несколько приёмов для долговременного присутствия и уклонения от детекции:
- Создание запланированных задач и внесение записей в реестр для восстановления после перезагрузки.
- Загрузка зашифрованных компонентов и их расшифровка в памяти для затруднения анализа статическими средствами.
- Механизмы динамических обновлений и резервных каналов (Solana memo, Google Calendar) для поддержания канала управления в случае блокировки.
Индикаторы компрометации (IoC)
На что обратить внимание при проверке системы:
- Наличие недавно установленных расширений из Open VSX с неизвестными авторами и большим количеством загрузок.
- Необычная активность Node.js-процессов при открытии HTML/TypeScript-файлов в VS Code.
- Создание скрытых файлов и новых запланированных задач / записей реестра.
- Процессы убийства браузеров (Chrome/Firefox) и последующий доступ к файлам профиля браузера.
- Исходящие POST-запросы на неизвестные IP-адреса с агрегированными данными.
- Запросы к Solana-аккаунтам с изменяющимся memo-полем, содержащим Base64-строки.
Рекомендации для разработчиков и команд безопасности
Чтобы снизить риск и ограничить ущерб, рекомендуется:
- Немедленно удалить подозрительное расширение из Open VSX и всех установок VS Code в организации.
- Провести аудит установленных расширений и разрешений, ограничив установку расширений политиками.
- Ревокировать и пересоздать токены и ключи доступа в NPM, GitHub и других сервисах, если есть подозрение на утечку.
- Проверить и заблокировать подозрительную сетевую активность, в частности исходящие POST-запросы и обращения к неизвестным IP/доменам; при необходимости — изолировать пострадавшие хосты.
- Искать и удалять следы закрепления: запланированные задачи, записи реестра, скрытые файлы.
- Провести сканирование на наличие посленедельных и memory-only компонентов с помощью EDR/AV решений и анализ памяти.
- Проверить криптовалютные кошельки и, при выявлении компрометации, переместить средства в безопасное хранилище и пересмотреть практики хранения ключей.
Вывод
Случай с вредоносным расширением в Open VSX демонстрирует, насколько критичной становится проблема безопасности цепочек поставок ПО и расширений для сред разработки. Злоумышленники комбинируют знакомые техники (eval(), AES-расшифровка в памяти, закрепление в системе) с нестандартными каналами управления (Solana memo, Etherhiding, Google Calendar), что усложняет детекцию и блокировку. Разработчикам и командам безопасности важно оперативно реагировать, ограничивать доверие к сторонним расширениям и применять многоуровневые меры защиты.
Если вы обнаружили похожую активность в своей среде — изолируйте пострадавшие машины и свяжитесь с командой безопасности для проведения форензики и ревокации ключей.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.
