SOC Prime Bias:

26 May 2026 14:55 UTC

ペイロードランサムウェア: 詳細な技術分析

Author Photo
SOC Prime Team linkedin icon フォローする
ペイロードランサムウェア: 詳細な技術分析
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

ペイロードは、ChaCha20を使用してファイルを暗号化するWindowsランサムウェアファミリーであり、ファイルごとにCurve25519 ECDH交換を使用した後、影響を受けたデータに .payload 拡張子を付加します。このマルウェアは、 RECOVER_payload.txt という身代金要求ノートをドロップし、独自のログファイルを作成し、ETWパッチ、VSSシャドウコピーの削除、イベントログのクリア、および特定のプロセスとサービスの終了を含む複数のアンチフォレンジック対策を適用します。2026年2月に初めて確認され、このグループは物流、不動産、製造業の組織に特に焦点を当て、急速に被害者の基盤を拡大しました。また、Torオニオンサイトを使用して被害者との通信やデータ漏洩の公表を行っています。

調査

この分析は、Curve25519を通じて共有秘密を導出し、その共有秘密をChaCha20の暗号化キーとして直接使用する、新しい32バイトの被害者プライベートキーの作成を含むランサムウェアの暗号化ワークフローを説明します。ファイル暗号化はI/Oコンプリートポートを通じて実行され、被害者の公開鍵および定数マーカーを含む56バイトのRC4暗号化フッターで終了します。アンチフォレンジックの動作には、 FBI マーカー。メモリ内でETWパッチングを行い、 vssadminによるシャドウコピーの削除、およびWindowsイベントログの削除を含みます。研究者はまた、ランサムウェアが暗号化を開始する前に停止するプロセスおよびサービスの事前定義されたキルリストを見つけました。

緩和策

ディフェンダーは、 MakeAmericaGreatAgain ミューテックス、新たに作成された .payload ファイル、および RECOVER_payload.txt 身代金ノートの存在を監視すべきです。グループに関連する vssadmin.exe の実行を制限し、知られているTorオニオンアドレスをブロックすることで、そのアンチフォレンジックおよび通信方法の効果を減少させることができます。エンドポイント保護もETWパッチング、疑わしいNT APIファイルI/O活動、重要なサービスの強制終了を検出する必要があります。定期的なオフラインバックアップを維持し、シャドウコピーへの依存を制限することで、ビジネスへの影響をさらに減少させることができます。

対応策

ペイロードランサムウェアが検出された場合、影響を受けたホストをネットワークから直ちに隔離し、揮発性メモリを保存し、分析のために関連ログを収集します。調査員は残存する悪意のあるプロセスを特定し終了させ、その後、確認済みのクリーンバックアップからの復元を優先します。バックアップが利用できない場合、提供された復号キーを使用し、埋め込まれたRC4フッターとともにファイル復元を試みることがあります。関連するインジケーターは脅威インテリジェンステームと共有すべきであり、関連するTorオニオンインフラストラクチャとリンクされたコマンドアンドコントロール資産はブロックされるべきです。

"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef process fill:#c2f0c2 classDef tool fill:#cccccc classDef malware fill:#ffb3b3 classDef operator fill:#ff9900 %% Nodes action_initial_execution["<b>アクション</b> – <b>T1059 コマンドライン実行</b>: ロギング、暗号化アルゴリズムの選択、スレッド数、バックグラウンドモード、ミューテックス処理、身代金ノート生成、プロセス/サービス終了、ETWバイパス、イベントログ削除を制御するコマンドライン引数でランサムウェアが起動されます。"] class action_initial_execution action op_and1(("AND")) class op_and1 operator tech_T1059["<b>テクニック</b> – T1059: コマンドラインインターフェース。コマンドライン引数を介してプログラムを実行します。"] class tech_T1059 technique tech_T1027["<b>テクニック</b> – T1027: 隠蔽されたファイルまたは情報。静的検出を防ぐために二重Base64エンコード、RC4暗号化フッター、NT APIの動的解決を使用します。"] class tech_T1027 technique tech_T1490["<b>テクニック</b> – T1490: システムリカバリの妨害。vssadmin.exeを介してすべてのボリュームシャドウコピーのスナップショットを削除します。"] class tech_T1490 technique tech_T1070_001["<b>テクニック</b> – T1070.001: Windowsイベントログのクリア。すべてのイベントログチャネルをクリアするためにwevtapi.dllを利用します。"] class tech_T1070_001 technique tech_T1070["<b>テクニック</b> – T1070: ホスト上のインジケーターの削除(ETWバイパス)。ETW関数をメモリ内でパッチしてイベントトレースを抑制します。"] class tech_T1070 technique tech_T1486["<b>テクニック</b> – T1486: 影響を与えるためのデータ暗号化。Curve25519 ECDHを通じてファイルごとにChaCha20キーを生成し、1MBチャンクでファイルを暗号化し、拡張子.payloadを付加し、被害者公開鍵とナンスを含むRC4暗号化フッターを追加します。"] class tech_T1486 technique tech_T1489["<b>テクニック</b> – T1489: サービスの停止。sql.exeやfirefox.exeなどのバックアップ、データベース、セキュリティサービスとプロセスを終了させます。"] class tech_T1489 technique tech_T1564_012["<b>テクニック</b> – T1564.012: ファイル/ディレクトリの除外。システム、ブラウザ、リカバリディレクトリおよびファイルの暗号化をスキップします。"] class tech_T1564_012 technique process_vssadmin["<b>プロセス</b> – vssadmin.exe: リカバリポイントを削除するためにシャドウコピーを削除します。"] class process_vssadmin process process_wevtapi["<b>プロセス</b> – wevtapi.dll: Windowsイベントログチャネルをクリアします。"] class process_wevtapi process process_etw["<b>プロセス</b> – ETWバイパスモジュール: トレースを抑制するためにETW関数をパッチします。"] class process_etw process process_termination["<b>プロセス</b> – サービス/プロセスの終了: sql.exe、firefox.exe、および他のバックアップ、データベース、セキュリティサービスを終了します。"] class process_termination process malware_ransomware["<b>マルウェア</b> – ランサムウェアペイロード: 暗号化、身代金ノート生成、およびクリーンアップ活動を実行します。"] class malware_ransomware malware %% Connections action_initial_execution –>|リードする| op_and1 op_and1 –>|使用する| tech_T1059 op_and1 –>|使用する| tech_T1027 op_and1 –>|使用する| tech_T1490 op_and1 –>|使用する| tech_T1070_001 op_and1 –>|使用する| tech_T1070 op_and1 –>|使用する| tech_T1486 op_and1 –>|使用する| tech_T1489 op_and1 –>|使用する| tech_T1564_012 tech_T1490 –>|実行する| process_vssadmin tech_T1070_001 –>|実行する| process_wevtapi tech_T1070 –>|実行する| process_etw tech_T1486 –>|実装される| malware_ransomware tech_T1489 –>|実行する| process_termination "

攻撃フロー

シミュレーション実行

前提条件: テレメトリ&ベースラインのプレフライトチェックがパスしていること。

理論: このセクションは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳細に説明します。コマンドと説明は、特定されたTTPを直接反映する必要があり、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。

  • 攻撃の説明とコマンド:

    1. シャドウコピーデリーティング (T1561.001): 攻撃者は静かなVSS削除コマンドを実行して、すべての以前の復元ポイントを消去し、暗号化されたファイルを回復できなくします。
    2. ミューテックス作成 (T1203 – 関連): ペイロードは“MakeAmericaGreatAgain”という名前のグローバルミューテックスを作成して、1つのインスタンスのみが実行されるようにします。
    3. プロセスの終了 (T1203): ランサムウェアはセキュリティ関連プロセスを終了させるために TerminateProcess APIを使用します。
    4. ETWバイパス (T1562.001): 攻撃者は --bypass-etw フラグを使ってWindowsのイベントトレースを静かにするための子プロセスを起動します。

    これらの4つのアクションは、Sigmaルールが検索する正確な文字列を使用して cmd.exe /c を呼び出す単一のPowerShellスクリプトによって実行されます。

  • リグレッションテストスクリプト:

    # PayloadRansomwareSimulation.ps1
    # 目的: Sigmaルールが一致する正確なコマンドライン文字列を生成します。
    
    # 1. すべてのVSSシャドウコピーを削除(静かに)
    $vssCmd = 'cmd.exe /c vssadmin.exe delete shadows /all /quiet'
    Write-Host "VSS削除を実行中..."
    Invoke-Expression $vssCmd
    
    # 2. "MakeAmericaGreatAgain"という名前のグローバルミューテックスを作成
    $mutexName = 'MakeAmericaGreatAgain'
    $mutex = New-Object System.Threading.Mutex($false, $mutexName)
    if ($mutex.WaitOne(0)) {
        Write-Host "ミューテックス [$mutexName] が作成されました。"
    }
    
    # 3. ダミープロセス(例:ノートパッド)を終了してプロセス終了をシミュレート
    Start-Process notepad
    Start-Sleep -Seconds 2
    $proc = Get-Process -Name notepad -ErrorAction SilentlyContinue
    if ($proc) {
        $terminateCmd = "cmd.exe /c taskkill /PID $($proc.Id) /F"
        Write-Host "コマンドを使用してプロセスを終了: $terminateCmd"
        Invoke-Expression $terminateCmd
    }
    
    # 4. ETWバイパスフラグ付きで無害なプロセスを起動
    $etwBypassCmd = 'cmd.exe /c powershell.exe -NoProfile -WindowStyle Hidden --bypass-etw'
    Write-Host "ETWバイパスプロセスを起動中..."
    Invoke-Expression $etwBypassCmd
    
    Write-Host "シミュレーション完了。すべてのインジケータ文字列がSysmonログに表示されるはずです。"
  • クリーンアップコマンド:

    # CleanupPayloadRansomwareSimulation.ps1
    # ミューテックスを解放
    $mutexName = 'MakeAmericaGreatAgain'
    $mutex = [System.Threading.Mutex]::OpenExisting($mutexName) -ErrorAction SilentlyContinue
    if ($null -ne $mutex) {
        $mutex.ReleaseMutex()
        $mutex.Close()
        Write-Host "ミューテックス [$mutexName] が解放されました。"
    }
    
    # 残りのノートパッドプロセスがないことを確認
    Get-Process -Name notepad -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # VSS削除に対する追加のクリーンアップは不要(これは元に戻せません) - これは破壊的であり、隔離されたラボでのみ実行されるべきです。
    Write-Host "クリーンアップ完了。"

レポート終了