Playランサムウェアの暗号化:その仕組み
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
PlayCryptとしても知られるPlayは、閉鎖的な運用モデルを採用して二重脅迫攻撃を行う、著名なランサムウェアグループです。このグループは通常、暗号化ツールを展開し身代金を要求する前に、機密データを抽出します。そのキャンペーンは、北米、南米、ヨーロッパにおける重要なインフラと医療機関を頻繁に標的とします。
調査
最近の事件のフォレンジック分析により、SonicWall VPNが侵害され初期アクセスが得られた後、C2のためにSystemBCが展開されたことが示されました。攻撃者は被害者自身のSentinelOneアンインストールユーティリティを悪用してEDRを無効化し、ツールをSYSVOL共有を通してPsExecなどで展開しました。低トラフィックの C:PerfLogs ディレクトリでWinRARとWinSCPを使用したデータステージングも観察されました。
緩和策
組織は、EDRツールの無許可の削除を防ぐため、ベンダーによって認証されたタンパープロテクションを有効にするべきです。初期アクセスのリスクを減少させるため、全てのVPNサービスに多要素認証が強制されるべきです。また、高ボリュームのSFTP活動や不審なWinSCP転送の監視は、データの抽出試行を検出するのに役立ちます。
対応
Playランサムウェアの活動が疑われる場合、組織はデータ漏洩の封じ込めと暗号化の復旧をカバーするインシデント対応手順を直ちに発動すべきです。イベントログのクリアを示すWindows Event ID 1102は、暗号化の差し迫ったサインとみなされるべきです。また、応答者は不正な実行可能ファイルを調査する必要があります。 C:PerfLogs およびWindows Tasksディレクトリに格納されたSystemBC DLLs。
攻撃フロー
この部分はまだ更新中です。
検出
短いファイル名(cmdline経由)
公共ユーザープロファイルからの不審な実行(process_creation経由)
PerfLogsディレクトリからの不審な実行(process_creation経由)
Possible Mimikatz引数検出(cmdline経由)
公共ユーザープロファイルにある不審なファイル(file_event経由)
PsExecまたは同様のものによる可能性のある横方向移動(system経由)
PsExecまたは同様のものによる可能性のある横方向移動(audit経由)
IOCs(HashSha256)の検出:Playの暗号化の達成方法
IOCs(HashSha1)の検出:Playの暗号化の達成方法
IOCs(SourceIP)の検出:Playの暗号化の達成方法
IOCs(DestinationIP)の検出:Playの暗号化の達成方法
Vultr Holdingsを介したSystemBC C2通信の検出 [Windowsネットワーク接続]
未修正のMimikatzおよびPlay暗号化ツールバイナリの検出 [Windowsプロセス作成]
セキュリティイベントログクリアの検出 [Windowsシステム]
シミュレーション実行
前提条件:テレメトリ&ベースラインプリフライトチェックがクリアされていること。
根拠:このセクションでは、検出ルールをトリガーするために設計された対抗技術(TTP)の正確な実行を詳述しています。コマンドとナarrativeは、特定されたTTPsを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的とします。抽象的または無関係な例は、誤診につながる可能性があります。
-
攻撃ナarrative&コマンド: 敵はワークステーションを正常に侵害し、ランサムウェア(T1486)を展開しようとしています。SOCが初期侵入と横方向移動を調査するのを防ぐために、攻撃者はフォレンジックトレイルを消去することに決めます。攻撃者は、
wevtutil.exe、ネイティブのWindowsユーティリティを使用してセキュリティイベントログをクリアするコマンドを実行します。このアクションは、不正なツールやアカウント使用の存在を隠すための典型的な反フォレンジック技術です。 -
回帰テストスクリプト:
# シミュレーションスクリプト:イベントID 1102をトリガーするためのセキュリティイベントログのクリア # 注:これは昇格された(管理者)PowerShellセッションで実行する必要があります。 Write-Host "[!] シミュレーション開始: セキュリティイベントログのクリア..." -ForegroundColor Yellow try { # セキュリティチャネルをクリアするためにwevtutilを使用 wevtutil cl Security if ($LASTEXITCODE -eq 0) { Write-Host "[+] 成功: セキュリティログがクリアされました。SIEMでイベントID 1102を確認してください。" -ForegroundColor Green } else { Write-Host "[-] 失敗: ログをクリアできませんでした。管理者として実行していることを確認してください。" -ForegroundColor Red } } catch { Write-Host "[-] エラー: $($_.Exception.Message)" -ForegroundColor Red } -
クリーンアップコマンド:
# クリーンアップ:ログがクリアされると、'未クリア' の状態にはできません。 # このコマンドは単に状態を認識することを目的としています。 Write-Host "[*] クリーンアップ:シミュレーション完了。現在、セキュリティログは空です。基準のログレベルを復元するにはマニュアルのログローテーションやシステム再起動が必要な場合があります。" -ForegroundColor Cyan