GlassWormキャンペーンがVS Code拡張機能を通じて隠れたローダーを拡散
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
GlassWormの脅威アクターに関連する悪意のあるVisual Studio Code拡張が、VS Code MarketplaceとOpen VSXで発見されました。洗練されたカラーテーマに偽装され、拡張機能には二次ペイロードを取得するための難読化されたJavaScriptローダーが含まれていました。このキャンペーンは、開発者を標的にし、侵害された環境から機密データを盗むソフトウェアサプライチェーンを悪用しています。
調査
Socketの研究者は、Git履歴分析とソースコードのフィンガープリンティングを通じて、2つの確認された悪意のある拡張機能と複数の高リスク、クラスタ関連のアイデンティティを特定しました。Aurora Nocturne Night ThemeとCosmic Nebula Themesを含む拡張機能は、ステージドローダー、AES-256-CBC復号化、SolanaブロックチェーントランザクションメモをC2インフラストラクチャのデッドドロップ解決として使用しました。研究者は、ブランドジャックとロシア語のコメントを含む共有開発アーティファクトも観察しました。
緩和策
組織は、Visual Studio MarketplaceやOpen VSXレジストリから取得したパッケージに特に注意を払い、VS Codeおよび類似エディタにインストールされている開発者拡張機能をインベントリ化すべきです。セキュリティ審査では、package.jsonファイル、実行可能なエントリポイント、テーマ拡張機能での予期しないネットワークやプロセス実行機能を調査する必要があります。厳格な拡張機能の許可を実施し、許可されていないスクリプト実行を監視することで、サプライチェーンリスクをさらに低減できます。
応答
VS Codeから起動した予期しないcmd.exeプロセスやtemp_batch.cmdの存在などのインジケータが検出された場合、直ちに影響を受けたホストを隔離してください。潜在的に侵害された認証情報、セッショントークン、暗号通貨ウォレットを調査します。特定された悪意のある拡張機能を削除し、開発環境を包括的に法医学レビューして、永続的なバックドアや追加のペイロードが残っていないことを確認します。
攻撃フロー
この部分はまだ更新中です。
検出
疑わしい実行可能ファイル/スクリプトの実行場所 [cmd.exe /C] による (コマンドライン経由)
異常なトップレベルドメイン(TLD)DNS要求による疑わしいコマンド&コントロール (DNS経由)
IOCs (HashSha256) の検出: Pretty Themes, Hidden Loaders: VS Code Marketplace と Open VSX をまたぐGlassWorm関連の拡張機能Socketにて発見
IOCs (HashMd5) の検出: Pretty Themes, Hidden Loaders: VS Code Marketplace と Open VSX をまたぐGlassWorm関連の拡張機能Socketにて発見
悪意のあるVS Codeスクリプトの実行による潜在的な侵害の示唆 [Windowsファイルイベント]
VS Code拡張機能による悪意のあるスクリプト実行 [Windowsプロセス作成]
シミュレーション実行
-
攻撃ストーリー&コマンド: 敵対者は、悪意のあるVS Codeテーマ拡張をインストールさせることで、開発者のワークステーションをうまく妥協させました。有効化後、拡張機能はバックグラウンドプロセスを実行し、リモートサーバーから悪意のあるペイロードをフェッチします(Ingress Tool Transfer)。攻撃の次の段階を開始するには—永続性を確立し、さらなるツールをダウンロードすることを含む—拡張機能は、
temp_batch.cmdという名前の小さなバッチスクリプトを書き込みます%TEMP%ディレクトリ。このスクリプトは、伝統的なシグネチャベースのアンチウイルスを回避するために一連の難読化されたコマンドを実行するように設計されています。 -
リグレッションテストスクリプト:
# シミュレーションスクリプト: 悪意のあるVS Code拡張ペイロードドロップ # 目的: 検出ルールをトリガーするために %TEMP% に特定のファイル 'temp_batch.cmd' を作成する $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName Write-Host "[*] 悪意のあるVS Code拡張機能の活動をシミュレート中..." -ForegroundColor Cyan # 悪意のあるバッチファイルを作成します $scriptContent = @" @echo off echo 悪意のあるペイロードの実行をシミュレート中... powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Write-Host 'Malicious Command Executed'" "@ 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 }