SOC Prime Bias: クリティカル

27 3月 2026 16:57

ポーンストームキャンペーンがPRISMEXを展開、政府および重要インフラ組織を標的に

Author Photo
Ruslan Mikhalov SOC Primeの脅威リサーチ責任者 linkedin icon フォローする
ポーンストームキャンペーンがPRISMEXを展開、政府および重要インフラ組織を標的に
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

PRISMEX活動が検出された場合、影響を受けたシステムを直ちに隔離し、揮発性メモリをキャプチャして.NETアセンブリをメモリから抽出し、特有のステガノグラフィーのPNGペイロードとCOMハイジャックのレジストリエントリを追跡してください。すべてをブロックする Filen.io サブドメインと wellnesscaremed.com ドメイン、および特定されたファイル名とスケジュールされたタスクに基づくIOC検出とブロックを適用してください。

対応策

組織はCVE-2026-21509およびCVE-2026-21513を直ちにパッチし、未承認のクラウドストレージサービスへのアクセスを制限し、レジストリを通じてShell.Explorer.1 COMオブジェクトを無効化するべきです。ディフェンダーはマクロ制限を強制し、COM登録を監視するべきです HKCU\Software\Classes\CLSID、およびOneDriveHealthのような疑わしいスケジュールされたタスクをレビューします。ETW ロギングも有効にし、explorer.exe 内の予期しない CLR ロードを検出できるようにします。 explorer.exe.

軽減策

TrendAIの研究者はPRISMEXツールセットのコンポーネントであるPrismexSheet、PrismexDrop、PrismexLoader、およびPrismexStagerを特定し、これらが以前のPawn Stormの活動に関連しているとしました。攻撃者が脆弱性が公表される数週間前からインフラを準備していたという証拠を見つけ、それらが共有C2ドメイン wellnesscaremed.comを使用していたことを文書化しました。この研究は、侵入チェーン全体で使用されたMITRE ATT&CKテクニックもマッピングしました。

調査

Pawn Storm (APT28) がPRISMEXという新しいマルウェアツールキットを中心にウクライナ防衛供給チェーンや同盟国の政府と物流組織を標的としたキャンペーンを開始しました。この作戦は、最近開示されたゼロデイ脆弱性であるCVE-2026-21509およびCVE-2026-21513を悪用し、コマンド&コントロールに正当なクラウドプラットフォームを悪用しています。ツールセットには、ステガノグラフィックローダ、持続性のためのCOMハイジャック、およびCovenantGruntステージャが含まれています Filen.io。ファイルレス実行と暗号化されたネットワークトラフィックによる検出は困難です。

"graph TB %% Class definitions classDef action fill:#99ccff classDef exploit fill:#ffcc99 classDef file fill:#ffeb99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef c2 fill:#ccffcc %% Nodes step1_phishing["<b>アクション</b> – <b>T1566.001 フィッシング: スピアフィッシングアタッチメント</b><br/>敵対者が標的にRTF文書を悪意のあるOLEオブジェクトとともに送信します。"] class step1_phishing action artifact_rtf["<b>ファイル</b> – <b>名前</b>: 悪意のあるRTF文書<br/>作成されたOLEオブジェクトを含む"] class artifact_rtf file step2_vba["<b>アクション</b> – <b>T1059.005 コマンドおよびスクリプトインタープリタ: Visual Basic</b><br/>埋め込まれたVBAマクロがドキュメントオープン時に自動的に実行されます。"] class step2_vba action step3_exploit["<b>エクスプロイト</b> – CVEu20112026u201121509 OLEバイパス<br/>マクロが悪意のあるWebDAVサーバーに接続し、.lnkをダウンロードします。"] class step3_exploit exploit artifact_lnk["<b>ファイル</b> – <b>名前</b>: 悪意のある.lnkショートカット"] class artifact_lnk file step4_html["<b>アクション</b> – <b>T1218.001 システムバイナリプロキシ実行: コンパイルされたHTMLファイル</b><br/>.lnkがMSHTMLにおけるCVEu20112026u201121513を引き金にし、埋め込まれたHTMLペイロードが実行されます。"] class step4_html action artifact_html["<b>ファイル</b> – <b>名前</b>: 埋め込まれたHTMLペイロード"] class artifact_html file step5_com_hijack["<b>アクション</b> – <b>T1546.009 イベントトリガー実行: AppCert DLLs</b><br/>ペイロードが持続性のためのCLSIDにInProcServer32として悪意のあるDLLを登録します。"] class step5_com_hijack action malicious_dll["<b>マルウェア</b> – <b>名前</b>: PrismexLoader DLL<br/>正当なWindows DLLを装います。"] class malicious_dll malware step6_dll_hijack["<b>アクション</b> – <b>T1574.001 ハイジャック実行フロー: DLL</b><br/>プロキシDLLが正当な呼び出しを転送しながら悪意のあるコードを実行します。"] class step6_dll_hijack action step7_stego["<b>アクション</b> – <b>T1027.003 難読化されたファイルまたは情報: ステガノグラフィー</b><br/>プロキシDLLがBit Plane Round Robinを使用してPNGに隠された.NETペイロードを抽出します。"] class step7_stego action stego_png["<b>ファイル</b> – <b>名前</b>: 隠されたペイロードを含むPNG画像"] class stego_png file dotnet_payload["<b>マルウェア</b> – <b>名前</b>: .NET Covenant Grunt stager"] class dotnet_payload malware step8_c2["<b>アクション</b> – <b>T1102 Webサービス</b><br/>ステージャがFilen.ioクラウドストレージのサブドメインとC2通信を行います。"] class step8_c2 action c2_filen["<b>C2</b> – Filen.ioクラウドストレージ"] class c2_filen c2 step9_exfil["<b>アクション</b> – <b>T1567.002 Webサービスを通じたエクスフィルトレーション: クラウドストレージへのエクスフィルトレーション</b><br/>収集されたデータが暗号化されFilen.ioにアップロードされます。"] class step9_exfil action step10_email["<b>アクション</b> – <b>T1114.001 メール収集: ローカルメール収集</b><br/>マルウェアが偵察のためにOutlookメールボックスファイルを収集します。"] class step10_email action outlook_data["<b>ファイル</b> – <b>名前</b>: Outlookメールボックスファイル (OST/PST)"] class outlook_data file %% Connections step1_phishing –>|delivers| artifact_rtf artifact_rtf –>|triggers| step2_vba step2_vba –>|executes| step3_exploit step3_exploit –>|downloads| artifact_lnk artifact_lnk –>|triggers| step4_html step4_html –>|runs| artifact_html artifact_html –>|loads| step5_com_hijack step5_com_hijack –>|registers| malicious_dll malicious_dll –>|loads| step6_dll_hijack step6_dll_hijack –>|extracts| step7_stego step7_stego –>|reads| stego_png stego_png –>|contains| dotnet_payload dotnet_payload –>|communicates with| step8_c2 step8_c2 –>|uses| c2_filen dotnet_payload –>|exfiltrates data via| step9_exfil step9_exfil –>|stores in| c2_filen step10_email –>|harvests| outlook_data dotnet_payload –>|collects email from| outlook_data %% Class assignments class step1_phishing,step2_vba,step3_exploit,step4_html,step5_com_hijack,step6_dll_hijack,step7_stego,step8_c2,step9_exfil,step10_email action class artifact_rtf,artifact_lnk,artifact_html,stego_png,outlook_data file class malicious_dll,dotnet_payload malware class step3_exploit step4_html step5_com_hijack step6_dll_hijack step7_stego exploit class c2_filen c2 "

攻撃フロー

シミュレーション実行

前提条件: テレメトリー&ベースライン事前確認が通過している必要があります。

根拠: このセクションは、検出ルールをトリガーするために設計された敵対者の手法(TTP)を正確に実行します。コマンドとストーリーは、特定されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリーを生成する必要があります。抽象的または無関係な例は誤診につながる可能性があります。

  • 攻撃ストーリーとコマンド:

    1. 敵対者は、悪意のあるDLL(evil.dll)を書き込み可能なディレクトリ(例: C:Tempevil.dll).
    2. )に配置しました。持続性を達成するために、彼らはCLSIDを選択しました {68DDBB56-9D1D-4FD9-89C5-C0DA2A625392} (ルールで追跡されるGUIDの1つ)。
    3. 組み込みの reg.exe (またはPowerShell)を使用し、サブキー InProcServer32 のデフォルト値を悪意のあるDLLのパスに設定し、そのCLSIDのCOMアクティベーションをハイジャックしました。
    4. レジストリの変更は、検出ルールに一致する正確な TargetObject を伴うEventID 13エントリを生成します。
  • 回帰テストスクリプト:

    # -------------------------------------------------
    # PrismexSheet COMハイジャック持続性シミュレーション
    # -------------------------------------------------
    $guid = '{68DDBB56-9D1D-4FD9-89C5-C0DA2A625392}'
    $dllPath = "C:Tempevil.dll"
    
    # 悪意のあるDLLが存在することを確認する(テスト用のプレースホルダー)
    if (-not (Test-Path $dllPath)) {
        New-Item -Path $dllPath -ItemType File -Force | Out-Null
        Set-Content -Path $dllPath -Value "悪意のあるペイロードのプレースホルダー"
    }
    
    $regPath = "HKCU:SoftwareClassesCLSID$guidInProcServer32"
    
    # キーが存在しない場合は作成する
    New-Item -Path $regPath -Force | Out-Null
    
    # デフォルト値を悪意のあるDLLにポイントさせる
    Set-ItemProperty -Path $regPath -Name '(Default)' -Value $dllPath
    
    Write-Host "COMが $regPath -> $dllPath に持続されました"
  • クリーンアップコマンド:

    # 悪意のあるCOM登録を削除する
    $guid = '{68DDBB56-9D1D-4FD9-89C5-C0DA2A625392}'
    $regPath = "HKCU:SoftwareClassesCLSID$guid"
    Remove-Item -Path $regPath -Recurse -Force
    
    # ダミーDLLを削除する
    Remove-Item -Path "C:Tempevil.dll" -Force -ErrorAction SilentlyContinue
    
    Write-Host "クリーンアップが完了しました。"