SOC Prime Bias: 重大

02 Jun 2026 19:44 UTC

オペレーション ドラゴン ウィーブが Azure Cloud C2 を利用しチェコ共和国と台湾を標的に

Author Photo
SOC Prime Team linkedin icon フォローする
オペレーション ドラゴン ウィーブが Azure Cloud C2 を利用しチェコ共和国と台湾を標的に
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

Operation Dragon Weaveと追跡された標的型スパイ活動は、悪意あるLNKショートカットファイルとRustに基づいた実行ファイルを使用して、最終的にAdaptix AZUREVEILコマンドアンドコントロールエージェントを配備する多段ローダーを起動します。オペレーターはC2通信のデッドドロップメカニズムとしてMicrosoft Azure Blob Storageを悪用します。このキャンペーンはチェコ共和国と台湾の政府関係者および研究者に焦点を当てています。

調査

調査はZIPアーカイブからVBScriptの実行、PowerShellによる復号化、DLLサイドローディング、および最終ペイロードを復号するためにRC4、Base64、およびSM4を使用したカスタムRustローダーまでの完全な感染チェーンに従いました。最終段階のマルウェアAZUREVEILは、Azure Blob Storageを通じてのみ通信し、メモリ内Beacon Object Fileの実行をサポートする64ビットのAdaptix DLLとして識別されました。

軽減策

ディフェンダーは予期しないLNKファイルや未署名バイナリの実行をブロックし、スクリプトとマクロの実行に対して厳格な制御を施し、異常なAzure Blob Storageトラフィックを監視するべきです。実行ポリシーバイパスを伴うPowerShellの使用を制限または厳密に監視し、セキュリティチームは %LOCALAPPDATA% and %TEMP%での疑わしいファイルの作成を検出する必要があります。Azureアカウントのための強力な資格情報の衛生とSASトークンの定期的な回転も推奨されます。

対応

セキュリティチームは影響を受けたホストを検出して隔離し、不揮発性メモリを収集してメモリ内ペイロードを回復し、特定されたAzureストレージドメインをブロックし、報告されたファイルアーティファクトやプロセスパターンを捜索する必要があります。追加のドロップコンポーネントを特定し、持続メカニズムを削除するために完全なフォレンジック調査も実行する必要があります。

攻撃フロー

シミュレーション実行

前提条件: テレメトリおよびベースラインの事前飛行チェックが通過していること。

攻撃の物語とコマンド

  1. 配信: 攻撃者は、添付ファイルの名前が 計画申請審査結果通知単.pdf.lnkというフィッシングメールを送り、ダブルエクステンションでショートカットの性質を隠します。LNKは C:Tempevil.vbs.
  2. を指しています。 実行 (VBScript): 被害者がLNKをダブルクリックすると、 wscript.exeが起動し、 evil.vbsが実行されます。このスクリプトはRuntimeBroker_update.exeを にドロップし、悪意のある to にドロップし、悪意のある and copies a malicious UnityPlayer.dll (Rustベースのローダーを含む)を同じディレクトリにコピーします。
  3. DLLサイドローディング: 攻撃者は にドロップし、悪意のあるを実行します。この実行ファイルが署名されている(または正当なバイナリを模した)ため、Windowsは隣接する UnityPlayer.dllをロードし、埋め込まれたRustペイロード(RUSTCLOAK)を実行し、AzureへのC2チャネルを確立します。
  4. 実行後: ペイロードはシステム探索(T1016、T1082)を行い、暗号化チャネル(T1573)を介してエクスフィルトレーション(T1041)を開始します。

回帰テストスクリプト

<#
  悪意あるLNK + DLLサイドローディング検出のためのシミュレーションスクリプト。
  前提条件:
  - Sysmonプロセス作成(ID 1)およびイメージロード(ID 7)が有効であること。
  - $env:APPDATAMicrosoftWindowsStart MenuProgramsへの書き込み権限があること。
#>

# 1. 悪意あるVBScriptを準備
$vbPath = "$env:TEMPevil.vbs"
@'
Set objShell = CreateObject("WScript.Shell")
'objShell.Run """$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe""", 0, False
'@ | Set-Content -Path $vbPath -Encoding Unicode

# 2. フェイクのUnityPlayer.dll (バイナリプレースホルダー) を配置
$dllPath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll"
# デモ用に、既存のDLL(例:version.dll)をコピーして名前を変更
Copy-Item "$env:SystemRootSystem32version.dll" $dllPath -Force

# 3. 補助実行ファイルを展開(リアリズムのために正当なバイナリをコピー)
$exePath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe"
Copy-Item "$env:SystemRootSystem32RuntimeBroker.exe" $exePath -Force

# 4. ダブルエクステンションで悪意あるLNKを作成
$lnkPath = "$env:USERPROFILEDesktop計画申請審査結果通知単.pdf.lnk"
$ws = New-Object -ComObject WScript.Shell
$shortcut = $ws.CreateShortcut($lnkPath)
$shortcut.TargetPath = "$env:SystemRootSystem32wscript.exe"
$shortcut.Arguments = "`"$vbPath`""
$shortcut.Save()

Write-Host "悪意あるLNKが $lnkPath に作成されました"
Write-Host "チェーンをトリガーするためにLNKを実行しています..."
Start-Process -FilePath $lnkPath -Wait

クリーンアップコマンド

# アーティファクトを削除
Remove-Item "$env:TEMPevil.vbs" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATAMicrosoftWindowsStart MenuProgramsUnityPlayer.dll" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:APPDATAMicrosoftWindowsStart MenuProgramsRuntimeBroker_update.exe" -Force -ErrorAction SilentlyContinue
Remove-Item "$env:USERPROFILEDesktop計画申請審査結果通知単.pdf.lnk" -Force -ErrorAction SilentlyContinue
Write-Host "クリーンアップ完了。"