Splunkと一緒に。簡易EDRツールとしてのsysmonの真価に迫る ~その3: 活用編~

活用編（検知ルールの設定 & 調査ダッシュボードの作成）
---
- 前々回の概要編は[こちら](https://qiita.com/odorusatoshi/items/cb9e1cad00b5eb9efe9b)
- 前回の導入編は[こちら](https://qiita.com/odorusatoshi/items/35177f0093b94b439f2e)
- まずはSecurity EssentialからEDRログソース用の検知ルールを設定し、アラート発砲
- 検知後は、sysmonログを使った調査ダッシュボードを活用します


検知ルール（サーチ条件）の設定
---
- 今回、sysmon活用の検知ルールとしてこちらの記事のSecurity Essentailルール(異常に長いCLIコマンドの検索)を利用しますので下記参考の上、設定してみてください
    - https://qiita.com/odorusatoshi/items/201af5bb1bbc40b832bc
- （本来であれば擬似的な攻撃ツールの利用方法を元に検知するのが望ましいですが、手法を載せるのは昨今の情勢上難しいため、ごめんなさい）


sysmonログを使った調査ダッシュボードを活用
---
- アラートを受け取ったら、「原因調査」と「影響範囲の確認」ダッシュボードを用意しましょう
- 少しでもビジュアライズをよくして見やすくするために以下Appをインストールします。
    - Force Directed App For Splunk
        - https://splunkbase.splunk.com/app/3767/
- 参考ダッシュボードxmlはこちらにて[公開](https://github.com/odorusatoshi/jp_sysmon_dashbboard/blob/master/sysmon_v2_DNS)

### 設定手順
- xmlソースをまるごとコピーしてもらい、新しいダッシュボードを作成
![スクリーンショット 2019-06-07 14.18.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/245b3ae9-148e-efab-06c5-1ee82ac3eec1.png)

- 任意の名前を入力し、ダッシュボードの作成
![スクリーンショット 2019-06-07 14.19.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/565a5af4-97b6-5c27-1126-65c4fc0f10f4.png)

- xmlソースまるごと貼り付けて保存。
![Jun-07-2019 14-24-02.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/e592f073-e4d0-d2be-58de-fbca06ae3167.gif)

### ダッシュボードの使い方(TIPS)
- アラートメールを受け取ったら、ダッシュボードを開く。
<img width="982" alt="スクリーンショット 2019-06-07 15.12.54.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/13ed3a68-811e-b15b-944e-f9e9221559a7.png">

- **時間**、**ホスト**、**プロセス名**をセットしてEnter
    - 期間は、アラート発生前の**数時間**と*プロセス名*は部分一致でいいので必ずセット。でないと検索が遅くなります。

![スクリーンショット 2019-06-07 14.49.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/51dbe2c0-7843-1539-5da1-0a96ddf89d19.png)


### 「sysmon相関図v2」の使い方
- ボタンを押してもドリルダウンサーチはしません。俯瞰的にプロセスの親子関係、通信先を確認します。

![スクリーンショット 2019-06-07 14.52.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/00ff0f1d-8b0c-746d-56a9-889b0be9d507.png)

- この例の場合
    - 親プロセスがwscript.exeで子プロセスがpowershell.exe
    - poweshell.exeが接続に行った通信先が192.168.246.xxxとfe80:~の３つであることがわかります

### 「不審なプロセスID（ProcessId）をクリック」の使い方
- 左のパネルのProcessIdをクリックすると右のパネルに共通PIDを含む親プロセスが表示されます
![Jun-07-2019 14-58-22.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/4332ccdd-5e3f-4ac5-ed23-e3d1dad35d95.gif)

- この例の場合、打ち合わせ議事録.vbsをクリックしたことがきっかけであることがわかります。

### 「Sysmonログによる影響範囲調査」の使い方
- powershellを含むプロセスが他にどのような操作を行っていたか表示するパネルです。
![スクリーンショット 2019-06-07 15.01.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/2a28a8fe-f286-623d-5ac3-07972f53ca9b.png)

- この例の場合、powershell実行の後に、systeminfoやtaskの作成などの横展開活動を行うコマンドが記録されていることがわかります。

- ↓やや見にくくて恐縮ですが、同パネルを⇢にずーっとスライドしていくと、親プロセスも対となって記録されています。
![スクリーンショット 2019-06-07 15.04.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/70675e6d-61d1-4a65-1012-f8d5abd8d5f8.png)


まとめ
---
- sysmonを収集していると、不審なプロセスを検知し、プロセスの発生原因を特定できるケースがある
    - ***攻撃の手口の複雑さによっては、ここまでわかりやすく見えないケースも多々あると思います。***
- とはいえ、専門EDR製品を買えない場合は無償のsysmonログをとっておくだけでも原因調査、影響調査に有効です。


おまけのTIPS集
---
- ダッシュボードパネル内のSPLにて環境依存で沢山でるプロセスがあればノイズフィルタすることを推奨します

```:例
NOT process=*amazon*exe NOT process=hogehoge.exe 
```   

- 転送されるトラフィックやデータサイズは？
    - １台のPCあたり5-10MB/dayです。世界では40万PCから収集しているユーザーもいるので、エンドポイントに大量のUFを配る方法や転送トラフィックの圧縮などいろいろなTIPSがありますが、詳しくはまたの機会に。
- sysmon以外にもwindowsから追加でログ収集したくなった
    - 一度UFをPCに配っている人は、あとからいつでもログ収集の対象を増やすことが簡単です。powershell operationのログなども追加取得を推奨します。