Кампанія GlassWorm Поширює Приховані Завантажувачі Через Розширення VS Code
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Було виявлено кластер шкідливих розширень Visual Studio Code, пов’язаний із загрозою GlassWorm, у VS Code Marketplace та Open VSX. Прикидаючись відшліфованими колірними темами, розширення містили обфусковані JavaScript-завантажувачі, розроблені для завантаження вторинних корисних навантажень. Кампанія зловживає ланцюгом поставок програмного забезпечення, щоб атакувати розробників і красти чутливі дані з скомпрометованих середовищ.
Розслідування
Дослідники Socket ідентифікували два підтверджених шкідливих розширення та кілька високоризикових, пов’язаних із кластером, особистостей завдяки аналізу історії Git та відбитків коду. Розширення, включаючи Aurora Nocturne Night Theme та Cosmic Nebula Themes, використовували поетапні завантажувачі, AES-256-CBC декодування та меморандум транзакцій Solana blockchain як мертві крапки для C2 інфраструктури. Дослідники також спостерігали за пограбуванням бренду та спільними артефактами розробки, включаючи коментарі російською мовою.
Зменшення
Організації повинні інвентаризувати розширення розробників, встановлені в VS Code та подібних редакторах, з особливою увагою до пакетів, отриманих у Visual Studio Marketplace та реєстрах Open VSX. Ревізії безпеки повинні перевіряти файли package.json, виконувані точки входу та неочікувану мережеву або процесну викональну здатність у темах розширень. Запровадження суворих дозволів на розширення та моніторинг несанкціонованого виконання скриптів може далі зменшити ризики ланцюга поставок.
Відповідь
Коли виявляються такі індикатори, як неочікувані процеси cmd.exe, запущені з VS Code, або наявність temp_batch.cmd, миттєво ізолюйте уражений вузол. Розслідуйте потенційно скомпрометовані облікові дані, токени сесій та криптовалютні гаманці. Видаліть ідентифіковані шкідливі розширення та проведіть комплексний судово-медичний огляд середовища розробника, щоб переконатися, що не залишилось стійких бекдорів або додаткових корисних навантажень.
Прогрес атаки
Ми все ще оновлюємо цю частину.
Виявлення
Підозріла локація виконання виконуваного файлу/скрипту через [cmd.exe /C] (через cmdline)
Підозріле командування та контроль через незвичайний запит DNS верхнього рівня домену (TLD) (через dns)
IOC (HashSha256) для виявлення: Гарні Теmi, Сховищі Завантажувачі: Розширення, пов’язані з GlassWorm, охоплюють VS Code Marketplace та Open VSX Socket
IOC (HashMd5) для виявлення: Гарні Теми, Сховищі Завантажувачі: Розширення, пов’язані з GlassWorm, охоплюють VS Code Marketplace та Open VSX Socket
Зловмисне виконання скрипту в VS Code, що вказує на потенційний компроміс [Подія файлу Windows]
Зловмисне виконання скрипту з розширень VS Code [Створення процесу Windows]
Виконання симуляції
-
Наратив атаки та команди: Супротивник успішно скомпрометував робочу станцію розробника, переконавши його встановити шкідливе розширення теми VS Code. Після активації розширення виконуються фонові процеси, які отримують шкідливе навантаження з віддаленого сервера (Ingress Tool Transfer). Щоб ініціювати наступний етап атаки, який включає встановлення стійкості та завантаження додаткових інструментів, розширення записує маленький batch-скрипт під назвою
temp_batch.cmdв обліковий запис користувача%TEMP%каталог. Цей скрипт призначений для виконання серії обфускованих команд, щоб уникнути традиційного антивірусного підписного виявлення. -
Скрипт регресійного тестування:
# Скрипт симуляції: Скидання шкідливого навантаження розширення VS Code # Мета: Створити специфічний файл 'temp_batch.cmd' в %TEMP%, щоб викликати правило виявлення. $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName Write-Host "[*] Імітація шкідливої активності розширення VS Code..." -ForegroundColor Cyan # Створити шкідливий batch файл $scriptContent = @" @echo off echo Імітація виконання шкідливого завантаження... powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Write-Host 'Виконано шкідливу команду'" "@ try { Set-Content -Path $fullPath -Value $scriptContent -ErrorAction Stop Write-Host "[+] УСПІШНО: Створено $fullPath" -ForegroundColor Green Write-Host "[!] Моніторте свій SIEM/EDR для сповіщення про виявлення." -ForegroundColor Yellow } catch { Write-Host "[-] НЕВДАЧА: Не вдалося створити файл. Помилка: $($_.Exception.Message)" -ForegroundColor Red } -
Команди очищення:
# Скрипт очищення: Видалення артефактів, створених під час симуляції $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName if (Test-Path $fullPath) { Remove-Item -Path $fullPath -Force Write-Host "[+] Очищення завершено: $fullPath видалено." -ForegroundColor Green } else { Write-Host "[-] Очищення невдало: Файл не знайдено." -ForegroundColor Red }