調査でのリアルタイム イベントの使用

アナリストは、攻撃者が Windows システムで何をしたかを理解するために、多くの場合、マスター ファイル テーブル (MFT)、レジストリ ハイブ、アプリケーション互換性キャッシュ (AppCompat) などのエンドポイント アーティファクトの実績のある実際のソースに目を向けます。ただし、これらの証拠ソースは、検出やインシデントへの対応を念頭に置いて設計されていません。重要な詳細は、アンチフォレンジック手法によって省略または消去される場合があります。歴史的証拠だけを見ると、アナリストは全容を理解できないかもしれません。

リアルタイム イベントは、エンタープライズ ディテクション アンド レスポンス (EDR) ソリューションまたはSysmonなどの拡張ログ実装によって実装される、検出とインシデント対応のために特別に設計されたフォレンジック アーティファクトと考えることができます。 FireEye Mandiantは、積極的な攻撃者のエンドポイントの調査中に、リアルタイム イベントが攻撃者の行動のギャップを埋めるのに役立つことを発見しました。これらのイベントは、プロセスの実行、ファイル書き込みアクティビティ、ネットワーク接続など、さまざまな種類のシステム アクティビティを記録します。

Mandiant は、インシデント対応業務において、 FireEye Endpoint Securityを使用して、エンドポイント システム イベントをリアルタイムで追跡します。この機能により、調査担当者は、これらのリアルタイム イベントについてアラートを出し、確認することで、任意のシステムで攻撃者を追跡できます。アナリストは、ソリューションの組み込みの監査ビューアーまたは Redline を使用して、リアルタイムのイベントを確認できます。

ソリューションで利用可能な Windows リアルタイム イベントの例と、調査中にそれらをどのように活用できるかを見てみましょう。アカウントTEST-DOMAINBackupAdminが、攻撃者によって侵害された非アクティブな管理者アカウントであると仮定しましょう。この投稿で提供されている例は、エンゲージメント中に観察されたリアルタイムのイベントに基づいていますが、クライアントの機密性を保持するために再作成または変更されていることに注意してください.

プロセス実行イベント

AppCompatAmCacheWMI CCM_RecentlyUsedAppsなど、多くのプロセス実行履歴のアーティファクトがあります。 1 つのアーティファクトがプロセスの実行に関連するすべての有用な詳細をカバーすることはめったにありませんが、リアルタイムのプロセス実行イベントはそれを変更します。当社のソリューションのリアルタイム プロセス実行イベントは、実行時間、完全なプロセス パス、プロセス識別番号 (PID)、親プロセス パス、親 PID、ユーザー、コマンド ライン引数、さらにはプロセス MD5 ハッシュを記録します。

表 1 は、当社のソリューションによって記録されたリアルタイムのプロセス実行イベントの例を示しています。

分野

タイムスタンプ (UTC)

2020-03-10 16:40:58.235

シーケンス番号

2879512

PID

9392

プロセス パス

C:WindowsTemplegitservice.exe

ユーザー名

TEST-DOMAINBackupAdmin

親 PID

9103

親プロセスのパス

C:WindowsSystem32cmd.exe

イベントタイプ

始める

ProcessCmdLine

“C:WindowsTemplegitservice.exe” -b -m

MD5 ハッシュの処理

a823bc31395539816e8e4664e884550f

表 1: リアルタイム プロセス実行イベントの例

このリアルタイム プロセス実行イベントに基づいて、PID 9103 のプロセスC:WindowsSystem32cmd.exeは、PID 9392 および MD5 ハッシュa823bc31395539816e8e4664e884550fのファイルC:WindowsTemplegitservice.exeを実行しました。この新しいプロセスは、 TEST-DOMAINBackupAdminのユーザー コンテキストでコマンド ライン引数-b -mを使用しました。

このリアルタイムのイベントを、アナリストが他のプロセス実行アーティファクトで見る可能性のあるものと比較できます。表 2 に、実行された同じプロセスの AppCompat エントリの例を示します。記録されたタイムスタンプは、プロセスの開始時刻ではなく、ファイルの最終変更時刻であることに注意してください。

分野

ファイルラスト
変更時 (UTC)

2020-03-07 23:48:09

ファイルパス

C:WindowsTemplegitservice.exe

実行済みフラグ

真実

表 2: AppCompat エントリの例

表 3 に、AmCache エントリの例を示します。通常、レジストリ キーの最終変更時刻を使用してプロセスの開始時刻を特定できます。このアーティファクトには、ファイルの SHA1 ハッシュが含まれています。

分野

レジストリ キー
最終更新日 (UTC)

2020-03-10 16:40:58

ファイルパス

C:WindowsTemplegitservice.exe

ファイル Sha1 ハッシュ

2b2e04ab822ef34969b7d04642bae47385be425c

表 3: AmCache エントリの例

表 4 に、Windows イベント ログ プロセス作成イベントの例を示します。このアーティファクトには、16 進表記の PID、親プロセスに関する詳細、さらにはプロセスのコマンド ライン引数が存在する場所のフィールドが含まれていることに注意してください。この例では、コマンド ライン引数は デフォルトで無効になっているため、存在しません。Mandiant は、調査時にクライアントによってこのポリシーが有効になっていることをめったに見ません。

分野

書き込み時間 (UTC)

2020-03-10 16:40:58

ログ

安全

ソース

Microsoft Windows のセキュリティ

EID

4688

メッセージ

新しいプロセスが作成されました。

作成者の件名:
セキュリティ ID: TEST-DOMAINBackupAdmin
アカウント名: BackupAdmin
アカウント ドメイン: TEST-DOMAIN
ログオン ID: 0x6D6AD

対象者:
セキュリティ ID: NULL SID
アカウント名: –
アカウント ドメイン: –
ログオン ID: 0x0

プロセス情報:
新しいプロセス ID: 0x24b0
新しいプロセス名: C:WindowsTemplegitservice.exe
トークン昇格タイプ: %%1938
必須ラベル: 必須ラベル中必須レベル
作成者プロセス ID: 0x238f
クリエーター プロセス名: C:WindowsSystem32cmd.exe
プロセス コマンド ライン:

表 4: Windows イベント ログ プロセス作成イベントの例

AmCache で入手できる証拠を、完全に詳細な Windows イベント ログ プロセス作成イベントと組み合わせると、ファイル ハッシュ タイプのわずかな違いを除いて、リアルタイム イベントで入手できる証拠と一致する可能性があります。

ファイル書き込みイベント

攻撃者は、重要な証拠を変更または削除することを選択する可能性があります。攻撃者が Sysinternal の SDelete のようなファイル シュレッダー ツールを使用した場合、アナリストがファイルの元の内容を回復する可能性はほとんどありません。私たちのソリューションのリアルタイム ファイル書き込みイベントは、書き込まれたファイルの MD5 ハッシュとファイルの部分的な内容を記録するため、このような状況で非常に役立ちます。ファイル書き込みイベントは、問題のファイルを作成または変更したプロセスも記録します。

表 5 は、当社のソリューションによって記録されたリアルタイムのファイル書き込みイベントの例を示しています。

分野

タイムスタンプ (UTC)

2020-03-10 16:42:59:59 午後

シーケンス番号

2884312

PID

9392

プロセス パス

C:WindowsTemplegitservice.exe

ユーザー名

TEST-DOMAINBackupAdmin

デバイス パス

DeviceHarddiskVolume2

ファイルパス

C:WindowsTempWindowsServiceNT.log

ファイル MD5 ハッシュ

30a82a8a864b6407baf9955822ded8f9

書き込みが確認されたバイト数

8

サイズ

658

書く

4

イベント理由

ファイルが閉じられました

閉まっている

真実

Base64 エンコード
最小オフセットのデータ

Q3JlYXRpbmcgJ1dpbmRvd3NTZXJ2aWNlTlQubG9nJy
Bsb2dmaWxlIDogT0sNCm1pbWlrYXR6KGNvbW1hbmQ

最低オフセットのテキスト

‘WindowsServiceNT.log’ ログファイルを作成しています: OK….mimikatz(command

表 5: リアルタイム ファイル書き込みイベントの例

このリアルタイムのファイル書き込みイベントに基づいて、悪意のある実行可能ファイルC:WindowsTemplegitservice.exeがファイルC:WindowsTempWindowsServiceNT.logを MD5 ハッシュ30a82a8a864b6407baf9955822ded8f9でディスクに書き込みました。リアルタイム イベントは書き込まれたファイルの先頭を記録したため、Mandiant が一般的にOK….mimikatzで始まることを観察した Mimikatz クレデンシャル ハーベスターの出力がファイルに含まれている可能性が高いと判断できます。

少し後で調査すると、MD5 ファイル ハッシュ2b5cb081721b8ba454713119be062491を持つC:WindowsTemptaskassist.exeのプロセス作成イベントと、このプロセスのいくつかのファイル書き込みイベントが表 6 にまとめられていることがわかります。

タイムスタンプ

ファイルパス

ファイルサイズ

2020-03-10 16:53:42.351

C:WindowsTempWindowsServiceNT.log

638

2020-03-10 16:53:42.351

C:WindowsTempAAAAAAAAAAAAAAAAAA.AAA

638

2020-03-10 16:53:42.351

C:WindowsTempBBBBBBBBBBBBBBBB.BBB

638

2020-03-10 16:53:42.351

C:WindowsTempCCCCCCCCCCCCCCCC.CCC

638

 

 

2020-03-10 16:53:42.382

C:WindowsTempXXXXXXXXXXXXXXXX.XXX

638

2020-03-10 16:53:42.382

C:WindowsTempYYYYYYYYYYYYYYYY.YYY

638

2020-03-10 16:53:42.382

C:WindowsTempZZZZZZZZZZZZZZZZ.ZZZ

638

表 6: SDelete ファイル書き込みイベントのタイムラインの例

確かに、この活動は一見奇妙に思えるかもしれません。ファイル ハッシュを調査すると、実際にはプロセスがC:WindowsTemptaskassist.exeを装った SDelete であることがわかります。安全な削除プロセスの一環として、 SDeleteはファイルの名前をアルファベット順に 26 回変更します。

ネットワーク イベント

インシデント レスポンダーは、強化されたログなしでは、エンドポイントの履歴証拠からネットワーク通信の証拠を確認することはほとんどありません。通常、Mandiant は、NetFlow データ、完全または部分的なパケット キャプチャを備えたネットワーク センサー、またはマルウェア分析に依存して、マルウェア サンプルが通信できるコマンド アンド コントロール (C2) サーバーを決定します。当社のソリューションのリアルタイム ネットワーク イベントは、ローカルとリモートの両方のネットワーク ポート、活用されたプロトコル、および関連するプロセスを記録します。

表 7 は、ソリューションによって記録されたリアルタイムの IPv4 ネットワーク イベントの例を示しています。

分野

タイムスタンプ (UTC)

2020-03-10 16:46:51.690

シーケンス番号

2895588

PID

9392

プロセス + パス

C:WindowsTemplegitservice.exe

ユーザー名

TEST-DOMAINBackupAdmin

ローカル IP アドレス

10.0.0.52

ローカル ポート

57472

リモート IP アドレス

10.0.0.51

リモート ポート

443

プロトコル

TCP

表 7: リアルタイム ネットワーク接続イベントの例

このリアルタイムの IPv4 ネットワーク イベントに基づいて、悪意のある実行可能ファイルC:WindowsTemplegitservice.exe10.0.0.51:443へのアウトバウンド TCP 接続を確立しました。

レジストリ キー イベント

過去の証拠を使用して、関連する時間枠と一般的に悪用されているレジストリ キーを調査することで、悪意のあるキーや悪用されたキーを特定できます。リアルタイムのレジストリ キー イベントは、変更されたレジストリ キーにプロセスをリンクするのに役立ちます。また、攻撃者がレジストリ キーを削除または名前変更したときにも表示される可能性があります。レジストリに記録されている利用可能な唯一のタイムスタンプはレジストリ キーの最終変更時刻であり、このタイムスタンプは親キーが更新されると更新されるため、これはアナリストにとって便利です。

表 8 は、ソリューションによって記録されたリアルタイムのレジストリ キー イベントの例を示しています。

分野

タイムスタンプ (UTC)

2020-03-10 16:46:56.409

シーケンス番号

2898196

PID

9392

プロセス + パス

C:WindowsTemplegitservice.exe

ユーザー名

TEST-DOMAINBackupAdmin

イベントタイプ

3

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
LegitWindowsServiceImagePath

キーパス

CurrentControlSetServicesLegitWindowsService

元のパス

HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesLegitWindowsService

値の名前

イメージパス

値のタイプ

REG_EXPAND_SZ

Base64 エンコード
価値

QwA6AFwAVwBpAG4AZABvAHcAcwBcAFQAZQBtAHAAXABsAG
UAZwBpAHQAcwBlAHIAdgBpAGMAZQAuAGUAeABlAAAAAA==

文章

C:WindowsTemplegitservice.exe

表 8: リアルタイム レジストリ キー イベントの例

このソリューションのリアルタイム レジストリ イベントについては、表 9 を使用して、イベント タイプを実行される操作にマッピングできます。

イベント タイプ 値

手術

1

PreSetValueKey

2

PreDeleteValueKey

3

PostCreateKey、PostCreateKeyEx、PreCreateKeyEx

4

PreDeleteKey

5

PreRenameKey

表 9: FireEye Endpoint Security リアルタイム レジストリ キーのイベント タイプ

このリアルタイムのレジストリ キー イベントに基づいて、悪意のある実行可能ファイルC:WindowsTemplegitservice.exeが Windows サービスLegitWindowsServiceを作成しました。周囲のレジストリ キーを調査した場合、この悪意のあるサービスに関するさらに多くの情報を特定できる可能性があります。

結論

フォレンジック分析用に設計されたリアルタイム イベントを利用できるため、従来のフォレンジック アーティファクトだけでは埋められなかったギャップを埋めることができます。 Mandiant は、アクティブな攻撃者の調査中にリアルタイム イベントを使用することに大きな価値を見出しています。リアルタイム イベントを使用して、ディスク上に存在しなくなった攻撃者ユーティリティの機能を特定したり、対応するイベント ログが見つからない場合に悪意のあるリモート デスクトップ アクティビティで使用されたユーザーとソース ネットワーク アドレスを特定したりしました。

詳細については、 FireEye エンドポイント セキュリティ ページレッドラインページ (およびFireEye マーケットのレッドライン) を確認し、 FireEye エンドポイント セキュリティ ツアーに今すぐ参加してください。

参照: https://www.mandiant.com/resources/blog/using-real-time-events-in-investigations

Comments

タイトルとURLをコピーしました