AVDを起点としたランサムウェアによるSession Host上のデータ破壊(T1486)について調べてみた

Pocket

上記についてわかったことを適宜記録していきます。

1.High file deletion frequency(Lantern Home)

以下のサイトには Sysmonログを対象にしたSPLが書かれています。

High file deletion frequency(Lantern Home)
https://lantern.splunk.com/Security/UCE/Guided_Insights/Threat_hunting/Detecting_a_ransomware_attack/High_file_deletion_frequency

これをベースに ChatGPTで WindowsイベントかつAVD Session Hostログ用に書き直してもらったのが以下。

このSPLクエリは、AVD(Azure Virtual Desktop)のSession Hostログに対しても一部適用可能ですが、注意が必要です。AVDのSession Hostログでは、特にユーザーアクティビティ(ログオン、プロセス起動、ファイルアクセスなど)が記録されるため、ファイル削除イベントの検出に適用できる可能性があります。ただし、AVD環境でのログフォーマットや収集方法はオンプレミスのWindowsイベントログとは若干異なる点があります。
AVD環境における考慮点

ログの収集方法: AVD環境では、WindowsイベントログはSession Host(通常はWindows ServerやWindows 10/11のVM)から収集されます。これをSplunkに取り込むためには、Azure MonitorやLog Analytics経由でログを収集し、それをSplunkに送信する必要があります。Session HostがWindowsのイベントログを記録している場合、セキュリティイベントログ(EventCode=4663 など)も含まれます。

ファイルアクセスのログ収集: AVDのSession Hostでファイルアクセスログを収集できるかは、Session Hostに設定されているログの種類に依存します。通常、Windowsイベントログを使用している場合は、ファイルアクセスイベントやプロセス作成イベントなどが記録されますが、これが正しく収集・転送されているかを確認する必要があります。

クエリの適用: AVD環境でも、Session HostがWindowsイベントログを生成している場合、このクエリを使用してファイル削除や大量のファイル操作を検出することが可能です。ただし、以下のような修正が必要な場合があります。

修正されたSPLクエリ例(AVDのSession Hostに適用)

spl

index=avd_session_host_logs sourcetype="WinEventLog:Security" EventCode=4663
| search (ObjectName="*\.7z" OR ObjectName="*\.bmp" OR ObjectName="*\.chm" OR ObjectName="*\.cmd" OR ObjectName="*\.db" OR ObjectName="*\.doc*" OR ObjectName="*\.gif" OR ObjectName="*\.ini" OR ObjectName="*\.jpeg" OR ObjectName="*\.jpg" OR ObjectName="*\.js" OR ObjectName="*\.log" OR ObjectName="*\.png" OR ObjectName="*\.ppt*" OR ObjectName="*\.ps1" OR ObjectName="*\.rar" OR ObjectName="*\.vbs" OR ObjectName="*\.xls*" OR ObjectName="*\.zip")
| stats values(ObjectName) AS deleted_files min(_time) AS firstTime max(_time) AS lastTime count BY Computer Account_Name EventCode Process_Name ProcessId
| where (count >= 100)
| convert timeformat="%Y-%m-%dT%H:%M:%S" ctime(firstTime)
| convert timeformat="%Y-%m-%dT%H:%M:%S" ctime(lastTime)

主な変更点:

index=avd_session_host_logs: AVDのSession Hostログのインデックスを指定しています。実際の環境では、Session Hostログを収集するための適切なインデックス名に変更してください。

データソースの確認:
AVD環境でファイル削除に関連するログを収集できているかを確認してください。特にEventCode=4663のようなファイルアクセスイベントが含まれていることが重要です。

まとめ:

AVDのSession Hostログに対しても、このクエリは利用可能です。ただし、Session Hostログが正しく収集され、特にファイル削除に関連するイベントが含まれているかどうかを確認する必要があります。また、ログの収集設定やフォーマットに応じてクエリを微調整することが必要です。

2.Shadow copies deleted

以下のサイトにはSMBを利用した検知方法が記載されています。

Shadow copies deleted(Lantern Home)
https://lantern.splunk.com/Security/UCE/Guided_Insights/Threat_hunting/Detecting_a_ransomware_attack/Shadow_copies_deleted

これについて、Azure上のAVDでも利用可能かChatGPTに確認してみました。

上記のSPLは、Azure Virtual Desktop (AVD) 環境の Session Host にも適用できますが、いくつかの前提条件があります。具体的には、AzureのSession Hostから収集されるログがどの範囲のプロセスデータを含んでいるかに依存します。
AVD環境における適用性

Session Hostログの収集:
AVDのSession Hostは通常、Windowsの仮想マシン(Windows ServerやWindows 10/11)であり、これらはプロセス実行ログを生成します。もし、Session HostがWindowsイベントログを正しく記録している場合、このクエリを使って検知が可能です。

プロセスの記録:
クエリでは vssadmin.exe や wmic.exe のような特定のプロセスの実行を監視しています。AVD Session Hostがこれらのプロセスに関連する情報をログに記録している場合、検知が可能です。
これらのプロセスが動作しているかを確認するため、Session Hostで発生しているプロセス作成ログ(例えば、WindowsイベントID 4688)が有効になっている必要があります。

Azure MonitorやLog Analyticsの活用:
AVDのSession HostからのログをAzure MonitorやLog Analyticsに収集している場合、それをSplunkに転送して分析できます。プロセス実行やシャドウコピー削除操作のログがLog Analyticsにある場合、このSPLクエリを適用可能です。

実行例の確認と修正

Session HostがWindowsのプロセス関連ログを収集していることを前提に、以下のSPLクエリはそのまま適用可能です。
クエリを実行する手順:

ログを確認:
Session Hostがプロセス作成(vssadmin.exe, wmic.exe)をログとして記録しているかを確認します。
プロセス削除イベントの検知:
Azure MonitorやLog Analyticsで、これらのイベントを収集し、Splunkに転送します。
SPLクエリの実行:
上記のSPLクエリを使って、これらのプロセスがシャドウコピーの削除を試みているかを検出します。

まとめ:

AVDのSession Hostログがプロセス作成やプロセス実行イベントを記録している場合、このクエリを使用してT1486の攻撃検知が可能です。特に、vssadmin.exe や wmic.exe によるシャドウコピー削除の操作を検知することで、バックアップ削除に関連する攻撃の早期検知に役立ちます。

ちなみにシャドウコピーの場所は以下のようです。

【VSS】今すぐバックアップとリストアを実験してみた
https://alcatrazexodus.hatenablog.jp/entry/20210815/1629024067

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA