Gentlemenランサムウェアエミュレーションの説明
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
ジェントルメンランサムウェアグループは2025年7月以来活動しており、ファイルの暗号化とデータの盗難やリークサイトでの恐喝を組み合わせた二重恐喝モデルを採用しています。このマルウェアはGoで書かれており、Windows、Linux、ESXi環境をサポートし、暗号化プロセス中にハードコードされたパスワード引数を使用します。運用者は広範な調査、グループポリシーオブジェクトの悪用、WinSCPのような合法的なツールを利用して、暗号化された形でデータを移動および流出させます。
調査
AttackIQは、複数のセキュリティベンダーによって説明された戦術、技術、および手順を再現するエミュレーションを発表しました。これには、最初のアクセス、持続性、防御回避、発見、横移動、影響が含まれます。エミュレーションには、スケジュールされたタスクの作成、レジストリRunキー、悪意のあるサービス、ファイアウォールルールの変更、ボリュームシャドウコピーの削除などの動作が含まれています。
緩和策
防御者は、疑わしいPowerShellアクティビティ、予期しないスケジュールタスクの作成、ヌルセッションおよびMicrosoft Defenderの除外に関連するレジストリの変更、SMBv1を有効にしようとする試みを監視する必要があります。ネットワークのセグメンテーションと最小特権アクセスコントロールは、グループが共有リソースを通じて横方向への移動を制限するのに役立ちます。
対応
ジェントルメン関連の活動が検出された場合は、すぐに影響を受けたシステムを隔離し、揮発性の証拠を収集し、ランサムウェアのサンプルと関連するレジストリアーティファクトを保持し、可能であればバックアップからシャドウコピーとイベントログを回復するためのインシデントレスポンス手続きを開始します。また、資格情報の盗難や環境内の横移動を特定するためのフォレンジック調査を完全に実施する必要があります。
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef builtin fill:#dddddd %% Action nodes act_system_info[“<b>アクション</b> – <b>T1082 システム情報の探索</b><br/>OSバージョン、ホスト名などの情報を収集”] class act_system_info action act_persistence[“<b>アクション</b> – 永続化”] class act_persistence action act_scheduled_task[“<b>アクション</b> – <b>T1053.005 スケジュールタスク</b><br/>起動時に実行されるタスクを作成”] class act_scheduled_task action act_registry_run[“<b>アクション</b> – <b>T1547.001 レジストリ Run キー / スタートアップ</b><br/>HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run に追加”] class act_registry_run action act_windows_service[“<b>アクション</b> – <b>T1543.003 Windowsサービス</b><br/>sc.exeで新しいサービスを作成”] class act_windows_service action act_defense_evasion[“<b>アクション</b> – 防御回避”] class act_defense_evasion action act_disable_defender[“<b>アクション</b> – <b>T1562.001 セキュリティツールの無効化/変更</b><br/>Windows Defenderのリアルタイム保護を無効化”] class act_disable_defender action act_add_exclusions[“<b>アクション</b> – <b>T1562.001 セキュリティツールの無効化/変更</b><br/>Set-MpPreferenceで除外設定を追加”] class act_add_exclusions action act_enable_firewall[“<b>アクション</b> – 制限なしネットワーク探索の有効化”] class act_enable_firewall action act_discovery[“<b>アクション</b> – 探索フェーズ”] class act_discovery action act_ad_domain[“<b>アクション</b> – <b>T1482 ドメイン信頼の探索</b><br/>Get-ADDomainでAD情報を取得”] class act_ad_domain action act_ad_computers[“<b>アクション</b> – <b>T1018 リモートシステム探索</b><br/>Get-ADComputerでドメイン内PCを列挙”] class act_ad_computers action act_wmi_info[“<b>アクション</b> – <b>T1082 システム情報の探索</b><br/>WMI経由で情報収集”] class act_wmi_info action act_file_enum[“<b>アクション</b> – <b>T1083 ファイル・ディレクトリ探索</b><br/>FindFirstFileW/FindNextFileWで列挙”] class act_file_enum action act_volume_disc[“<b>アクション</b> – <b>T1680 ローカルストレージ探索</b><br/>Win32_VolumeとGet-PSDriveでボリューム列挙”] class act_volume_disc action act_network_share[“<b>アクション</b> – <b>T1049 ネットワーク共有探索</b><br/>WNetOpenEnum/WNetEnumResourceで共有を列挙”] class act_network_share action act_lateral_movement[“<b>アクション</b> – ラテラルムーブメント”] class act_lateral_movement action act_create_share[“<b>アクション</b> – <b>T1021 リモートサービス</b><br/>net shareで隠しSMB共有を作成”] class act_create_share action act_modify_acls[“<b>アクション</b> – <b>T1222.001 権限グループ探索</b><br/>icaclsで匿名フル権限付与”] class act_modify_acls action act_null_session[“<b>アクション</b> – <b>T1556.009 アクセストークン操作</b><br/>レジストリのNullSessionShares等を変更”] class act_null_session action act_copy_payload[“<b>アクション</b> – ランサムウェアペイロードをリモートへコピー”] class act_copy_payload action act_execute_wmi[“<b>アクション</b> – <b>T1047 Windows Management Instrumentation</b><br/>WMI/WMICでリモート実行”] class act_execute_wmi action act_impact[“<b>アクション</b> – インパクトフェーズ”] class act_impact action act_delete_shadow[“<b>アクション</b> – <b>T1490 システム復旧の阻害</b><br/>vssadminとwmicでシャドウコピー削除”] class act_delete_shadow action act_clear_logs[“<b>アクション</b> – <b>T1070.001 Windowsイベントログ削除</b><br/>wevtutil.exeでログ削除”] class act_clear_logs action act_encrypt_files[“<b>アクション</b> – <b>T1486 データ暗号化による影響</b><br/>XChaCha20で暗号化しCurve25519で鍵保護”] class act_encrypt_files action %% Connections act_system_info –>|続く| act_persistence act_persistence –>|作成| act_scheduled_task act_persistence –>|作成| act_registry_run act_persistence –>|作成| act_windows_service act_persistence –>|続く| act_defense_evasion act_defense_evasion –>|使用| act_disable_defender act_defense_evasion –>|使用| act_add_exclusions act_defense_evasion –>|使用| act_enable_firewall act_defense_evasion –>|続く| act_discovery act_discovery –>|含む| act_ad_domain act_discovery –>|含む| act_ad_computers act_discovery –>|含む| act_wmi_info act_discovery –>|含む| act_file_enum act_discovery –>|含む| act_volume_disc act_discovery –>|含む| act_network_share act_discovery –>|続く| act_lateral_movement act_lateral_movement –>|作成| act_create_share act_lateral_movement –>|変更| act_modify_acls act_lateral_movement –>|変更| act_null_session act_lateral_movement –>|コピー| act_copy_payload act_lateral_movement –>|実行| act_execute_wmi act_execute_wmi –>|続く| act_impact act_impact –>|含む| act_delete_shadow act_impact –>|含む| act_clear_logs act_impact –>|含む| act_encrypt_files
アタックフロー
検出
可能な永続性ポイント [ASEPs – Software/NTUSER Hive] (レジストリエベント経由)
表示
可能性のあるリモートデスクトップサービスシャドウイング (レジストリエベント経由)
表示
可能なシステム列挙 (cmdline経由)
表示
可能なネットワーク共有の発見 (cmdline経由)
表示
可能な管理者アカウントまたはグループの列挙 (cmdline経由)
表示
VSSADMINの疑わしい活動 (cmdline経由)
表示
PowerShell、CMDまたはWMIによりシャドウコピーを作成または削除する (cmdline経由)
表示
Windows Defenderプレファレンスの疑わしい変更 (powershell経由)
表示
可能な回避チェック (powershell経由)
表示
検出すべきIOC (HashSha256): ジェントルメンランサムウェアのエミュレーション
表示
ジェントルメンランサムウェアの活動の検出 [Windows PowerShell]
表示
シミュレーション実行
前提条件: テレメトリ & ベースライン事前チェックが合格している必要があります。
理由: このセクションでは、攻撃者の技術(TTP)の正確な実行を詳細に説明し、検出ルールをトリガーするために設計されたものです。コマンドと説明は、識別されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目的とします。
攻撃のナラティブとコマンド
ドメインに参加しているWindowsサーバーで低権限実行を得た攻撃者は、ランサムウェア展開の準備のために環境を整えたいと考えています。彼らはネイティブのPowerShellコマンドレットを使用して:
- リアルタイム保護を無効にする (
Set-MpPreference). - ファイアウォールポートを開く (
Enable-NetFirewallRule). - 追加のWindows機能を有効にする (
Import-Module ServerManager+Enable-WindowsOptionalFeature). - ドメイン情報を抽出する (
Get-ADDomain,Get-ADComputer). - システム詳細を列挙する (
Get-WmiObject Win32_ComputerSystem,Get-PSDrive). - マルウェアのペイロードをリモート共有にコピーする (
Copy-Item).
各ステップは、Sigmaルールが監視する文字列の1つを含み、必要なテレメトリを生成するように、個別のPowerShellプロセスで実行されます。 それぞれ プロセスには、Sigmaルールが対象としている1つの文字列が含まれており、したがって必要なテレメトリが生成されます。
回帰テストスクリプト
# -------------------------------------------------
# シミュレーションスクリプト - ジェントルメンランサムウェア検出ルールをトリガー
# -------------------------------------------------
# 注: これは本番環境ではない隔離されたWindowsホストで実行してください。
# 1. Windows Defenderのリアルタイムモニタリングを無効化
powershell.exe -Command "Set-MpPreference -DisableRealtimeMonitoring $true"
# 2. ファイアウォールルールを有効化 (例: インバウンドSMBを許可)
powershell.exe -Command "Enable-NetFirewallRule -DisplayGroup 'File and Printer Sharing'"
# 3. サーバーマネージャーモジュールをインストールし、Windows機能を有効化
powershell.exe -Command "Import-Module ServerManager; Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient -NoRestart"
# 4. ADドメイン情報を列挙
powershell.exe -Command "Get-ADDomain | Out-Null"
# 5. ADコンピュータをリスト (発見)
powershell.exe -Command "Get-ADComputer -Filter * | Select-Object Name | Out-Null"
# 6. WMIでシステム詳細をクエリ
powershell.exe -Command "Get-WmiObject Win32_ComputerSystem | Out-Null"
# 7. 現在のPSドライブを表示
powershell.exe -Command "Get-PSDrive | Out-Null"
# 8. ラテラルムーブメントをシミュレートするためにダミーファイルをリモート共有にコピー
# (REMOTE-SERVERShareをラボ内の到達可能なSMB共有に置き換えてください)
$dummy = "$env:TEMPdummy.txt"
"test" | Out-File -FilePath $dummy -Encoding ASCII
powershell.exe -Command "Copy-Item -Path '$dummy' -Destination '\REMOTE-SERVERSharedummy.txt'"
# ローカルのダミーファイルをクリーンアップ
Remove-Item $dummy -Force
クリーンアップコマンド
# -------------------------------------------------
# クリーンアップスクリプト - テスト前の状態にホストを復元
# -------------------------------------------------
# Windows Defenderのリアルタイム保護を再有効化
Set-MpPreference -DisableRealtimeMonitoring $false
# 上記で追加されたファイアウォールルールを無効化 (まだ存在する場合)
Disable-NetFirewallRule -DisplayGroup 'File and Printer Sharing'
# リモート共有からダミーファイルを削除 (書き込み権限が必要)
Remove-Item -Path 'REMOTE-SERVERSharedummy.txt' -Force -ErrorAction SilentlyContinue