setodaNote

忘れる用のメモ書き for Cybersecurity

Process Monitor のフィルタ周りの使い方メモ

Process Monitor のフィルタまわりについてまとめたメモです。


Process Monitor のフィルタまとめ

特に明記がない場合は、すべて then [ include ] としてフィルタしています。

f:id:soji256:20200511124700p:plain:w460
Process Monitor のフィルタ設定画面

プロセスID関連

メニューからプロセスツリーを表示し、解析したいプロセスを選んでフィルタするのが直感的で簡単なのでおすすめです。

目的 Operation 備考
特定のプロセスIDのみ表示 [ PID ][ is ][ プロセスID ]
特定のプロセスIDのみ表示(Process Tree) [ Show Process Tree] > [ プロセスを選択 ] > [Include Process ] 操作手順
特定の親子プロセスのみ表示 [ Show Process Tree] > [ 親プロセスを選択 ] > [Include Subtree] 操作手順

ファイル操作関連

悪意あるツールの場合はなんらかファイルを生成しがちなので WriteFile で確認するとヒントが得られるかもしれません。 作成されたはずのファイルが見つからないときは、削除されてしまっていないか確認するとよいと思います。 なお、 sdelete による削除等、ツールを用いたファイル操作は下記に当てはまらない場合があります。

目的の挙動 Operation 備考
ファイル書込み [ Operation ][ is ][ WriteFile ]
ファイル存在チェック [ Operation ][ is ][ CreateFile ] Result:SUCCESS
Result:NAME NOT FOUND
ファイル・フォルダの削除 [ Deteil ][ is ][ Delete: True ] Result:NOT EMPTY
->ファイルを含むフォルダの削除時
ファイル削除(Shift+Delete) [ Deteil ][ begin with ][ Desired Access: Delete ] Delete: True は記録されない
ファイル・フォルダの名前変更 [ Operation ][ is ][ SetRenameInformationFile ]

ファイルパス関連

ファイルについての不審な挙動を見つけたら、ファイルパスでフィルタすることで関連するほかの挙動を探せます。

目的 Operation 備考
特定パスの処理のみ表示 [ Path ][ is ][ ファイルパス ]
特定パス配下の処理のみ表示 [ Path ][ begin with ][ ファイルパス ]
特定拡張子の処理のみ表示 [ Path ][ end with ][ .拡張子 ]

レジストリ操作関連

RegSetValue でフィルタすることで、起動時に自身を実行させるためのレジストリ登録や、自分自身をレジストリに保存する挙動などを探せます。

目的の挙動 Operation 備考
レジストリ書込み [ Operation ][ is ][ RegSetValue ]

新規プロセス関連

Process Create でフィルタすることで、不審な挙動をするプロセスからさらに別のプロセスが作られていないか確認できます。

目的の挙動 Operation 備考
プロセスの作成 [ Operation ][ is ][ Process Create ] Detail に PID とコマンドライン
プロセスの開始 [ Operation ][ is ][ Process Start ] Detail に 親PID とコマンドライン

通信関連

検証はしていませんが、以前に聞いた話では、通信が発生していてもログにうまく残らない場合があるようです。 これに限りませんが、報告が必要な場合などそれなりの確度が必要な場合に単一のツールに頼るのは危ういです。

目的 Operation 備考
通信したプロセスのみ表示 [ Event Class ][ is ][ Network ]
通信したプロセスのみ表示(画面操作) [ Show Network Activity ] 以外の3つを OFF にする 操作手順

カテゴリーフィルタ(書込み・読込み関連)

カテゴリーでフィルタすることで、ざっくり書き込み・読み込み関連の挙動を確認できるようです。 だいぶ後のほうに知ったこともあり、あまり使ったことはありませんが便利かもです。

目的の挙動 Operation 備考
書込み処理 [ Category ][ is ][ Write ]
書込み処理(メタデータ) [ Category ][ is ][ Write Metadata ]
読書込み処理 [ Category ][ is ][ Read ]
読込み処理(メタデータ) [ Category ][ is ][ Read Metadata ]

Process Monitor のフィルタ保存と読み込み

フィルタはファイルに保存したりファイルから読み込んだりすることができます。

フィルタの保存

  1. メニューの [Filter] > [Save Filter] から現在のフィルタ状態に名前をつけることができます。
  2. メニューの [Filter] > [Organize Filters] から [Export] することでフィルタをファイルに保存できます。

フィルタの読み込み

  1. メニューの [Filter] > [Organize Filters] から [Import] でファイルからフィルタを読み込めます。
  2. メニューの [Filter] > [Load Filter] からフィルタを選ぶことでフィルタを適用できます。

(参考)公開されているフィルタの例

付録

フィルタで記録するイベント量を減らす

メニューから [Filter] > [Drop Filtered Events] にチェックを入れておくことで、フィルタではじかれたイベントは記録されなくなります。 長時間の監視が必要な場合などで取得するログサイズを抑えたい場合に利用できます。 ただし、当然ながら記録されなかったイベントを後から復元することはできません。

f:id:soji256:20200510102117p:plain:w256
Drop Filtered Events

ブート時のログを記録する

メニューから [Options] > [Enable Boot Logging] にチェックを入れておくことで、ブート時の挙動を記録することができます。 確認のダイアログで [OK] を押すと有効になります。

f:id:soji256:20200510103129p:plain:w361
Enable Boot Logging (1)

再起動後などに Process Monitor を起動した際に記録したイベントを確認するかの確認ダイアログが表示されます。

f:id:soji256:20200510103306p:plain:w415
Enable Boot Logging (2)

表示カラムの編集

メニューから [Options] > [Select Columns] で編集できます。

f:id:soji256:20200510094436p:plain:w305
Process Monitor Column Selection

Process Activity Summary

メニューから [Tools] > [Process Activity Summary] で表示できます。

f:id:soji256:20200510094950p:plain
Process Activity Summary (1)

プロセスを選んでダブルクリックすると詳細が表示されます。 詳細のグラフ上をクリックすると、当該プロセスでその時間帯に一番近いイベントに表示が移動します。

f:id:soji256:20200510095108p:plain:w530
Process Activity Summary (2)

参考文献

更新履歴

  • 2020/05/10 新規作成
  • 2020/05/11 一部記載を追記しました。
  • 2020/05/11 一部記載を修正しました。