Inside SafePay: Analyzing the New Centralized Ransomware Group
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
SafePayは最近現れたランサムウェアのオペレーションであり、典型的なRaaSエコシステムではなく、厳密に管理された中央集権的なグループとして運営されているようです。攻撃者はダブルエクストーションのプレイブックに従っており、暗号化の前に機密データを準備し、Torベースの漏洩サイトを介して公開を脅迫します。配信には通常ネイティブのWindows DLLを含み、実行と拡散は広く利用可能なリビングオフザランドのユーティリティによって支援されます。観察されたケースでは、エンドツーエンドのタイムラインは攻撃的であり、初期アクセスから環境全体の暗号化までを約24時間以内に圧縮します。
調査
研究者たちは、SafePayが露出されたVPNまたはRDPアカウントに対して盗まれた、あるいは推測により得た資格情報を使用してしばしばエントリーを確保することを報告しました。いくつかのシナリオでは、特にMFAが欠如した環境での設定ミスによるFortiGateの悪用もあります。永続性を維持するために、オペレーターたちはQDoorのようなバックドアを展開し、ScreenConnectを含む正当な遠隔管理ツールを利用して通常のIT活動に溶け込みます。横方向の移動は通常PsExecやWinRMを通じて行われ、ホストおよび共有の発見はカスタムのPowerShellユーティリティ(ShareFinder.ps1)によってサポートされています。暗号化の前に、ペイロードは「プレ・ランサム」アクションを実行し、影響を最大化し回復を妨げます。これには、シャドウコピーの削除、ブート構成設定の変更、およびハードコーディングされたセキュリティ関連プロセスとサービスの終了が含まれます。
軽減策
すべてのリモートアクセス経路でMFAを要求し、ローカルアカウント認証を制限し、管理上の露出を厳しくすることでファイアウォールのリスクを減らします。特にリモート実行と設定に一致したシーケンスで、PsExec、WinRM、regsvr32、rundll32の異常な使用を監視します。共通のセキュリティツールの終了、シャドウコピーの削除、BCD/ブート設定の変更を表面化するためにエンドポイント検出を調整します。未署名のDLLのロードをブロックまたは厳密に制御し、エンドポイントおよびサーバー全体でアプリケーション制御ポリシーを施行して実行機会を減らします。
対応策
SafePayの指標が特定された場合、すぐに影響を受けたシステムを隔離し、揮発性メモリをキャプチャし、関連する認証、エンドポイント、およびネットワークログを保存します。関連するコマンド&コントロール基盤を特定してブロックし、悪意のあるプロセスを終了し永続性のメカニズムを削除します。回復行動を可能であればシャドウコピーの復元などで試みますが、データ盗難が発生した可能性があるとして、流出範囲を確認します。影響を受けたデータを特定し、利害関係者への通知と二重脅迫対応手順に基づいたエスカレーションのステップを実行するための完全なフォレンジックレビューを完了します。
“graph TB %% クラス定義 classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef operator fill:#ff9900 %% 初期アクセス tech_valid_accounts[“<b>テクニック</b> – T1078 有効なアカウント<br/>攻撃者は盗まれたまたはブルートフォースされた資格情報を使用してVPNまたはRDPにログインする”] class tech_valid_accounts technique tech_brute_force[“<b>テクニック</b> – T1110 ブルートフォース<br/>有効な資格情報を得るためのパスワード推測”] class tech_brute_force technique tool_vpn[“<b>ツール</b> – VPNゲートウェイ”] class tool_vpn tool tool_rdp[“<b>ツール</b> – RDPサービス”] class tool_rdp tool op_and_access((“AND”)) class op_and_access operator %% 実行 tech_regsvr32[“<b>テクニック</b> – T1218.010 Regsvr32<br/>不正なDLLを登録を通じてロードする”] class tech_regsvr32 technique tech_rundll32[“<b>テクニック</b> – T1218.011 Rundll32<br/>DLLからコードを実行する”] class tech_rundll32 technique tech_powershell[“<b>テクニック</b> – T1059.001 PowerShell<br/>デプロイ後にPowerShellコマンドを実行する”] class tech_powershell technique tech_cmd[“<b>テクニック</b> – T1059.003 コマンドシェル<br/>Windowsのコマンドライン指示を実行する”] class tech_cmd technique op_and_execution((“AND”)) class op_and_execution operator %% 永続性 tech_boot_autostart[“<b>テクニック</b> – T1547.010 ブートまたはログオンのオートスタート実行<br/>永続性のためにRegsvr32で登録されたDLL”] class tech_boot_autostart technique tech_appinit[“<b>テクニック</b> – T1546.010 AppInit DLLs<br/>システム起動時に不正なDLLをロードする”] class tech_appinit technique op_and_persistence((“AND”)) class op_and_persistence operator %% 発見 tech_share_discovery[“<b>テクニック</b> – T1135 ネットワーク共有の発見<br/>ShareFinder.ps1がSMB共有を列挙する”] class tech_share_discovery technique %% 横移動 tech_psexec[“<b>テクニック</b> – T1021.002 PsExec<br/>管理SMB共有を介してコマンドを実行する”] class tech_psexec technique tech_rdp_lm[“<b>テクニック</b> – T1021.001 リモートサービスRDP<br/>横移動にRDPを使用する”] class tech_rdp_lm technique tech_deploy_tools[“<b>テクニック</b> – T1072 ソフトウェアデプロイメントツール<br/>リモートホスト上でコマンドを実行するためにデプロイメントユーティリティを活用する”] class tech_deploy_tools technique op_and_lateral((“AND”)) class op_and_lateral operator %% 回避 tech_service_stop[“<b>テクニック</b> – T1489 サービス停止<br/>アンチウイルスまたはバックアップサービスを終了する”] class tech_service_stop technique tech_inhibit_recovery[“<b>テクニック</b> – T1490 システム回復の阻止<br/>VSSスナップショットを削除し、ブート設定を編集する”] class tech_inhibit_recovery technique tech_cmstp[“<b>テクニック</b> – T1548.002 CMSTPを介したUACバイパス<br/>CMSTPを使用して権限昇格したコードを実行する”] class tech_cmstp technique op_and_evasion((“AND”)) class op_and_evasion operator %% 収集と流出 tech_winrar[“<b>テクニック</b> – T1560.001 WinRARを介したアーカイブ<br/>収集データの暗号化された.rarアーカイブを作成する”] class tech_winrar technique tech_lateral_transfer[“<b>テクニック</b> – T1570 横方向ツール転送<br/>侵害されたホスト間でアーカイブファイルを移動する”] class tech_lateral_transfer technique tech_ingress_transfer[“<b>テクニック</b> – T1105 インバウントツール転送<br/>アーカイブを外部サーバーにアップロードする”] class tech_ingress_transfer technique op_and_collection((“AND”)) class op_and_collection operator %% 影響 tech_encrypt_impact[“<b>テクニック</b> – T1486 影響のためのデータの暗号化<br/>AES/ChaCha20でファイルを暗号化し、RSA/x25519でキーを保存する”] class tech_encrypt_impact technique %% コマンド&コントロール tech_encrypted_c2[“<b>テクニック</b> – T1573.001 暗号化チャンネル対称暗号<br/>暗号化でC2トラフィックを保護する”] class tech_encrypted_c2 technique %% フロー接続 %% 初期アクセスフロー tech_brute_force u002du002d>|に導く| tech_valid_accounts tech_valid_accounts u002du002d>|を使用する| tool_vpn tech_valid_accounts u002du002d>|を使用する| tool_rdp tech_valid_accounts u002du002d>|を可能にする| op_and_access op_and_access u002du002d>|に導く| tech_regsvr32 op_and_access u002du002d>|に導く| tech_rundll32 op_and_access u002du002d>|に導く| tech_powershell op_and_access u002du002d>|に導く| tech_cmd op_and_access u002du002d>|を可能にする| op_and_execution op_and_execution u002du002d>|を可能にする| tech_boot_autostart op_and_execution u002du002d>|を可能にする| tech_appinit op_and_execution u002du002d>|を可能にする| op_and_persistence op_and_persistence u002du002d>|に導く| tech_share_discovery tech_share_discovery u002du002d>|を可能にする| op_and_lateral op_and_lateral u002du002d>|を使用する| tech_psexec op_and_lateral u002du002d>|を使用する| tech_rdp_lm op_and_lateral u002du002d>|を使用する| tech_deploy_tools op_and_lateral u002du002d>|を可能にする| op_and_evasion op_and_evasion u002du002d>|を使用する| tech_service_stop op_and_evasion u002du002d>|を使用する| tech_inhibit_recovery op_and_evasion u002du002d>|を使用する| tech_cmstp op_and_evasion u002du002d>|を可能にする| op_and_collection op_and_collection u002du002d>|を使用する| tech_winrar op_and_collection u002du002d>|を使用する| tech_lateral_transfer op_and_collection u002du002d>|を使用する| tech_ingress_transfer op_and_collection u002du002d>|に導く| tech_encrypt_impact tech_encrypt_impact u002du002d>|をサポートする| tech_encrypted_c2 “
攻撃フロー
検出
疑わしいBcdedit実行(コマンドライン経由)
表示
暗号化前の可能性があるPowerShell事前準備 (RunAs + 回復の抑制) (PowerShell経由)
表示
PsExecまたは類似の方法による可能性のある横方向移動(監査経由)
表示
WMIコマンド実行Windows リモート管理を使用(コマンドライン経由)
表示
疑わしいVSSADMINアクティビティ(コマンドライン経由)
表示
パブリックフォルダ内のユーザースペース親によって起動されたPsExec(プロセス作成経由)
表示
検出のためのIOC (Email): SafePayの内部解析:新しい中央集権型ランサムウェアグループの分析
表示
SafePayのランサムウェア実行 PsExecとDLL実行 [Windows プロセス作成]
表示
SafePayの初期アクセス 誤設定されたFortiGateと資格情報の漏洩 [ファイアウォール]
表示
SafePayのランサムウェア 暗号化されたファイル .safepay 拡張子 [Windows ファイルイベント]
表示
シミュレーション実行
前提条件: テレメトリ&ベースラインの事前フライトチェックが通過していること。
理由: このセクションでは、検出ルールをトリガーするよう設計された敵の技術 (TTP) の正確な実行を詳細に説明します。コマンドとナラティブは、識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。
-
攻撃のナラティブとコマンド:
ドメイン管理者の資格情報を持つ攻撃者がピボットマシンを侵害し、 PsExec を使ってリモートのcmd.exeを二次ホスト (TARGET_IP) で実行します。リモートシェルの確立直後、攻撃者は悪意のあるDLL (malicious.dll) をリモートホストに転送し、 regsvr32.exe (または rundll32.exe)を使用してランサムウェアペイロードを実行します。このシーケンスは、指定されたコマンドラインを持つPsExecプロセスとその後のDLLロードプロセスという、2つの異なるプロセス作成イベントを生み出します。 -
回帰テストスクリプト:
# ------------------------------------------------------------------------- # SafePay Ransomware シミュレーション – PsExec + Regsvr32 # ------------------------------------------------------------------------- # 前提条件: # - 現在のディレクトリまたはPATHにPsExec.exe # - 同じフォルダに配置された悪意のあるDLL名malicious.dll # - 有効なドメイン管理者資格情報(プレースホルダを置き換える) # ------------------------------------------------------------------------- $targetIP = "10.0.0.20" # <--- ターゲットを変更 $username = "DomainAdmin" # <--- 有効なユーザーに変更 $password = "Password123!" # <--- 有効なパスワードに変更 $dllPath = "$PSScriptRootmalicious.dll" # 1) PsExecを使用してリモートcmd.exeを実行 Write-Host "[*] PsExecを使用してリモートcmd.exeを起動中..." $psexecArgs = "$targetIP -u $username -p $password cmd.exe" & .PsExec.exe $psexecArgs Start-Sleep -Seconds 5 # リモートセッションが開始する時間を確保 # 2) 悪意のあるDLLをリモートホストにコピー(SMBを使用) Write-Host "[*] 悪意のあるDLLをリモートホストにコピー中..." $destPath = "$targetIPC$Tempmalicious.dll" Copy-Item -Path $dllPath -Destination $destPath -Force # 3) regsvr32を介してDLLをロード(これにより2番目のイベントが生成されます) Write-Host "[*] regsvr32で悪意のあるDLLをロード中..." $regsvrArgs = "/s $destPath" & regsvr32.exe $regsvrArgs Write-Host "[+] シミュレーション完了。 SIEMでアラートを確認してください。" -
クリーンアップコマンド:
# ------------------------------------------------------------------------- # SafePay シミュレーション用クリーンアップ # ------------------------------------------------------------------------- $targetIP = "10.0.0.20" $dllRemote = "$targetIPC$Tempmalicious.dll" # リモートホストから悪意のあるDLLを削除 Write-Host "[*] リモートホストから悪意のあるDLLを削除中..." Remove-Item -Path $dllRemote -Force -ErrorAction SilentlyContinue # 必要に応じて、滞留しているregsvr32/rundll32プロセスを終了する Get-Process -Name regsvr32, rundll32 -ErrorAction SilentlyContinue | Where-Object {$_.Path -like "*$targetIP*"} | Stop-Process -Force Write-Host "[+] クリーンアップ完了。"