SOC Prime Bias: クリティカル

02 Jun 2026 19:40 UTC

Gamaredonの展開されるツールキット:GammaPhishとGammaWorm

Author Photo
SOC Prime Team linkedin icon フォローする
Gamaredonの展開されるツールキット:GammaPhishとGammaWorm
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

Gamaredon、ロシアの国家支援APTグループは、ウクライナ政府機関、軍事団体、重要インフラに対する長期的な諜報活動を継続しています。そのモジュラー感染チェーンはスピアフィッシング文書から始まり、WinRARのパストラバーサル脆弱性を悪用し、その後VBScript、代替データストリーム、デッドドロップリゾルバを利用して拡散、持続、追加のペイロードの取得を行います。このキャンペーンはまた、Telegram、Cloudflare、Supabaseといった正当なサービスを指揮統制活動に利用します。攻撃者がWindowsの組み込み機能やファイルレス実行手法を多用するため、検出は依然として困難です。

調査

Sekoia TDRは、侵害されたシステムから収集した70以上のアーティファクトを調査して、2026年1月の侵入チェーンを再構成しました。彼らの分析により、初期のフィッシングコンポーネントであるGammaPhish、続いてVBScriptローダーのGammaLoad、自己伝播ワームのGammaWorm、レジストリ内にモジュールを保存するPowerShellスティーラーのGammaSteelが特定されました。研究者はまた、GammaWormが持続性のために代替データストリームとスケジュールされたタスクを使用し、複数のデッドドロップリゾルバドメインへの繰り返しのネットワークリクエストを行っていることを文書化しました。調査では、各コンポーネントがより広範な感染チェーンと長期的な足がかりをどのようにサポートしているかをマップしました。

軽減措置

マルウェアがデッドドロップリゾルバを通じて継続的に新しいペイロードを取得できるため、安全な修復アプローチはしばしばシステム全体の再構築が最善です。防御努力は、疑わしい代替データストリームの作成、RunOnceレジストリの修正、異常な名前の付いたスケジュールされたタスク、および既知のリゾルバドメインからの非ブラウザープロセスによるアウトバウンドトラフィックの検出に焦点を当てるべきです。指揮統制インフラを特定しブロックし、メール添付ファイルに厳しいスキャンコントロールを適用することでも、初期の侵害の可能性を減少させることが可能です。

対応

この活動が検出された場合は、影響を受けたホストを直ちに隔離し、揮発性証拠を収集し、完全な法医学的取得を実施してください。代替データストリームに隠されたファイルを削除し、悪意のあるRunOnceレジストリエントリを削除し、関連するスケジュールされたタスクを無効にします。既知のリゾルバドメインとIPアドレスをネットワークエッジでブロックし、エンドポイント検出を更新して観察されたコマンドラインやファイルレス実行パターンを特定するようにします。

graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ddffdd classDef process fill:#ffeb99 classDef operator fill:#ff9900 %% Nodes attack_phishing[“<b>アクション</b> – <b>T1566.001 添付ファイル型スピアフィッシング</b><br/>攻撃者は被害者に悪意のあるZIPファイルをメールで送信する。”] class attack_phishing action file_zip[“<b>ファイル</b> – malicious.zip<br/>.lnkショートカットとRustでコンパイルされた.exeドロッパーを含む。”] class file_zip file action_user_exec[“<b>アクション</b> – <b>T1204.001 ユーザー実行</b><br/>被害者が.lnkまたは.exeを実行し、実行チェーンが開始される。”] class action_user_exec action file_lnk[“<b>ファイル</b> – payload.pdf.lnk<br/>二重拡張子とEdgeアイコンで正規ファイルを装うショートカット。”] class file_lnk file tool_wscript[“<b>ツール</b> – wscript.exe<br/>VBScriptペイロードを実行する。”] class tool_wscript tool file_vbs[“<b>ファイル</b> – empty.vbs<br/>PowerShellを起動する最小限のVBScript。”] class file_vbs file action_vbscript[“<b>アクション</b> – <b>T1059.005 Visual Basic</b><br/>wscript経由でVBScriptを実行しPowerShellを起動する。”] class action_vbscript action action_powershell[“<b>アクション</b> – <b>T1059.001 PowerShell</b><br/>ExecutionPolicy bypassで実行され、次段階を復号する。”] class action_powershell action file_dat[“<b>ファイル</b> – 1.dat<br/>RuntimeBroker_update.exeを含むXOR暗号化コンテナ。”] class file_dat file process_runtime[“<b>プロセス</b> – RuntimeBroker_update.exe<br/>1.datから復号され、DLLサイドローディングを実行する。”] class process_runtime process file_dll[“<b>ファイル</b> – UnityPlayer.dll<br/>RuntimeBroker_update.exeと同じディレクトリに配置された悪性DLL。”] class file_dll file action_dll_sideload[“<b>アクション</b> – <b>T1546.009 AppCert DLL</b><br/>DLLサイドローディングによりコード実行を実現する。”] class action_dll_sideload action tool_rustloader[“<b>ツール</b> – Rust loader (RUSTCLOAK)<br/>メモリ確保し復号PE AZUREVEILをロードしWindowsファイバーで実行。”] class tool_rustloader tool action_process_injection[“<b>アクション</b> – <b>T1055.002 プロセスインジェクション</b><br/>Windowsファイバーを使用したPEインジェクション。”] class action_process_injection action file_azureveil[“<b>ファイル</b> – AZUREVEIL.exe<br/>インジェクション後に実行される復号ペイロード。”] class file_azureveil file action_discovery[“<b>アクション</b> – <b>T1083 ファイル探索</b><br/>ローダーがファイル列挙を行い%TEMP%へ移動する。”] class action_discovery action action_network_discovery[“<b>アクション</b> – <b>T1016 ネットワーク探索</b><br/>MACおよびIP情報を収集する。”] class action_network_discovery action action_c2[“<b>アクション</b> – <b>T1102 Webサービス</b><br/>Azure Blob StorageとHTTPSで通信する。”] class action_c2 action action_dead_drop[“<b>アクション</b> – <b>T1102.003 ワンウェイ通信</b><br/>同一コンテナでビーコン送信とコマンド受信を行う。”] class action_dead_drop action action_encrypted_channel[“<b>アクション</b> – <b>T1573.001 暗号化チャネル</b><br/>RC4およびSM4-CBCで暗号化通信を行う。”] class action_encrypted_channel action action_exfil[“<b>アクション</b> – <b>T1567.002 Webサービス経由の持ち出し</b><br/>暗号化データをAzure Blobへアップロードする。”] class action_exfil action action_persistence[“<b>アクション</b> – <b>T1547.009 ショートカット改変</b><br/>スタートアップにショートカットを配置し永続化する。”] class action_persistence action %% Connections attack_phishing –>|配信| file_zip file_zip –>|起動| action_user_exec action_user_exec –>|開く| file_lnk file_lnk –>|実行| tool_wscript tool_wscript –>|実行| file_vbs file_vbs –>|起動| action_vbscript action_vbscript –>|開始| action_powershell action_powershell –>|復号| file_dat file_dat –>|生成| process_runtime process_runtime –>|ロード| file_dll file_dll –>|使用| action_dll_sideload process_runtime –>|注入| action_process_injection action_process_injection –>|使用| tool_rustloader tool_rustloader –>|ロード| file_azureveil file_azureveil –>|実行| action_discovery action_discovery –>|追加| action_network_discovery action_network_discovery –>|送信| action_c2 action_c2 –>|使用| action_dead_drop action_dead_drop –>|依存| action_encrypted_channel action_encrypted_channel –>|有効化| action_exfil action_exfil –>|場合により| action_persistence file_lnk –>|永続化| action_persistence

攻撃フロー

検出

可能性のある持続性ポイント [ASEPs – ソフトウェア/NTUSER ハイブ] (via registry_event)

SOC Prime チーム
2026年6月2日

LOLBAS WScript / CScript (via process_creation)

SOC Prime チーム
2026年6月2日

LOLBAS MSHTAの防御回避行動を関連コマンドの検出で検出 (via process_creation)

SOC Prime チーム
2026年6月2日

不審なCURLの使用 (via cmdline)

SOC Prime チーム
2026年6月2日

自動起動位置にある不審なバイナリ/スクリプト (via file_event)

SOC Prime チーム
2026年6月2日

コマンド&コントロールチャネルとしてのTelegramの可能性のある不正利用 (via dns_query)

SOC Prime チーム
2026年6月2日

サードパーティサービス/ツールを介した可能性のあるデータ浸透/流出/C2 (via dns_query)

SOC Prime チーム
2026年6月2日

可能性のあるCVE-2025-8088/CVE-2025-6218 (WinRAR脆弱性) のエクスプロイト試行 (via file_event)

SOC Prime チーム
2026年6月2日

疑わしいTrycloudflareドメイン通信 (via dns)

SOC Prime チーム
2026年6月2日

Cloudflare開発ドメインの可能性のある不正利用 (via dns)

SOC Prime チーム
2026年6月2日

IOCs(HashMd5)を検出: FSBのマトリョーシカ #1/3 – パッキングが続くGamaredonの贈り物 – GammaPhishとGammaWorm

SOC Prime AIルール
2026年6月2日

IOCs(SourceIP)を検出: FSBのマトリョーシカ #1/3 – パッキングが続くGamaredonの贈り物 – GammaPhishとGammaWorm

SOC Prime AIルール
2026年6月2日

IOCs(DestinationIP)を検出: FSBのマトリョーシカ #1/3 – パッキングが続くGamaredonの贈り物 – GammaPhishとGammaWorm

SOC Prime AIルール
2026年6月2日

Persistence and PropagationのためのGammaWorm NTFS ADS使用の検出 [Windowsファイルイベント]

SOC Prime AIルール
2026年6月2日

シミュレーションの実行

前提条件: テレメトリ&ベースライン事前飛行チェックがパスする必要があります。

根拠: このセクションでは、検出ルールをトリガーするために設計された敵対者技法(T1564.007)の正確な実行内容を詳述します。コマンドとナラティブは、検出ロジックに期待されるテレメトリを直接生成します。

  • 攻撃のナラティブ&コマンド:
    オペレーターはGammaWormペイロード(コンパイルされたPE)を取得し、従来のファイルリスティングから隠れながら持続性を実現したいと考えています。攻撃者は、ユーザープロファイルディレクトリ内の GTR という名前のNTFS代替データストリームにペイロードを書き込みます。WindowsはADSを通常のファイルの一部として扱います(%USERPROFILE%gamma.exe:GTR)。ADS名がルールのハードコードリストと一致するため、 %USERPROFILE% に含まれる「:GTR」のあるファイル作成イベントが検出されます。

    # ステップ 1 – ダミーの悪質なバイナリ(例: base64でエンコードされたPowerShellワンライナー)を準備します
    $malicious = [System.Convert]::FromBase64String(
        "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" +
        "AAAAAAAAAAAAAAAwAAAAA4AAAAA")
    $payloadPath = "$env:USERPROFILEgamma.exe"
    
    # ステップ 2 – バイナリをメインファイルに書き込む(オプション; ADSはメインファイルなしで存在できます)
    [IO.File]::WriteAllBytes($payloadPath, $malicious)
    
    # ステップ 3 – 同じバイナリ(または異なるペイロード)を「GTR」という名前のADSに書き込む
    $adsPath = "$payloadPath:GTR"
    Set-Content -Path $adsPath -Value $malicious -Encoding Byte
  • リグレッションテストスクリプト: (独立; PowerShell 5+ を備えた任意のWindowsホストで実行可能)

    # GammaWorm ADS Persistence シミュレーション – 検出ルールをトリガー
    try {
        # プレースホルダーのホストファイルを作成
        $hostFile = "$env:USERPROFILEgamma.exe"
        $dummyBytes = [byte[]] (0x4D,0x5A,0x90,0x00) # 最小限のPEヘッダー
        [IO.File]::WriteAllBytes($hostFile, $dummyBytes)
    
        # 「GTR」という名前のADSに悪意のあるペイロードを書き込む
        $ads = "$hostFile:GTR"
        Set-Content -Path $ads -Value $dummyBytes -Encoding Byte
    
        Write-Host "ADS 'GTR' が $ads で正常に作成されました"
    } catch {
        Write-Error "シミュレーション失敗: $_"
    }
  • クリーンアップコマンド:

    # ADSとプレースホルダーのホストファイルを削除
    $hostFile = "$env:USERPROFILEgamma.exe"
    $ads = "$hostFile:GTR"
    
    # ADSを削除(Sysinternals Streams.exeまたはPowerShell 5+が必要)
    if (Test-Path $ads) {
        Remove-Item -Path $ads -Force
        Write-Host "ADS GTRが削除されました。"
    }
    
    # メインファイルを削除
    if (Test-Path $hostFile) {
        Remove-Item -Path $hostFile -Force
        Write-Host "ホストファイル gamma.exe が削除されました。"
    }