SOARやろうぜ！無償のPhantom Community版使って。~Playbook設定編~

前回のおさらい
---
- 前回からだいぶ時間たっちゃいました。。忘れている方は以下をご参考ください。
- [SOARやろうぜ！無償のPhantom Community版使って。~App設定編~](https://qiita.com/odorusatoshi/items/97efa31be7db4175392e)
- **さあいよいよPlaybookを作成してオーケストレーションさせます！**

本記事のスコープ
---
1. Phantomの理解とインストール
2. 実現したいPlaybookのサンプルを選択
3. 必要となる連携Appを設定
4. **Playbookを編集 ←ここ**
5. **Playbookを実行 ←ここ**


想定シナリオとワークフロー
----
#### Webサイトに対する不正アクセス元IPの調査
- 想定ワークフロー
    1. Webアクセスログに残ったアクセス元SrcIP情報をSplunkで検知しアラートをphantomに連携
    2. SrcIPをVirusTotalのIP Reputationでチェック
    3. SrcIPをwhoisデータベースにてチェック
    4. Splunk内のWebアクセスログを表示し（UserAgentやuri_pathを確認） 
    5. アナリストがチェックして対応決定
    6. Network機器にてIPアドレスblockリストに登録

- Phantom上で作った結果
![スクリーンショット 2020-04-24 13.51.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/b9318f87-9310-d6a9-771f-38443ba5d7e1.png)


Playbookを編集
---
- ゼロからPlaybookを作ると理解が進むが、まずは↑のplaybookをインポートしてもらい編集モードで見てもらうほうが楽です
    - playbookは[こちら](https://github.com/odorusatoshi/phantom-playbook-sample/raw/master/simple_network_enrichment_v3.tgz)に。
    - tgzファイルをDL後、
**Phantom4.6以降**のバージョンで利用してみてください。
    - Playbookメニュー右端から2つ目のインポートを選択

<img width="1309" alt="スクリーンショット 2020-04-24 14.13.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/c20bef07-7eb9-cf07-ea0c-be8156fbd2d0.png">

- phantom内のlocal repoにUPLOAD

<img width="798" alt="スクリーンショット 2020-04-24 14.08.02.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/25c0c297-ce54-8438-d139-0951bd673fe8.png">

 - Import成功 

<img width="756" alt="スクリーンショット 2020-04-24 14.08.12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/edeb8d2e-785d-aa36-6ef9-f25ed63534b0.png">

- Playbookを開くと、MISSING ASSETSが表示されています。これは利用するPlaybookに必要なAppの設定情報（Asset）がない場合に出てきます。

<img width="748" alt="スクリーンショット 2020-04-24 14.08.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/3ea9a27a-330e-717a-54e8-64c2d542091d.png">

- RESOLVE MANUALYを選んで１つ１つのアクションとAppを紐付けていきます。

<img width="601" alt="スクリーンショット 2020-04-24 14.08.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/ae2977c0-fd57-7d24-c35f-051b6bac03c5.png">

- この場合、SplunkサーチAppとPassiveTotal Appが不足していたのでAppを作成してplaybookに関連づけていきます     

<img width="446" alt="スクリーンショット 2020-04-24 14.09.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/3ce68660-21dc-f2b7-1825-604fed1025f8.png">

- 警告をあらわすアイコンがなくなればPlaybookは修正完了。PLAYBOOK SETTINGにて、Operates on欄にてラベルを選択します。

 <img width="449" alt="スクリーンショット 2020-04-24 14.10.51.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/4b3bb249-fa7e-acc8-1ac2-316d82e72368.png">

 - ラベルは、Splunkから飛ばして連携する際のアラートと合わせる必要があります。
 - Splunk側の設定の前に、Phantom内に新たなラベル(web)を作成しておきます。
    
![スクリーンショット 2020-04-24 14.24.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/01fb92a0-fbce-58a4-f227-9c26d5deb012.png)

 - そしてPhantomのAPIの口をあける設定をしておきます。下記メニューにてautomationユーザをEditします。
 ![スクリーンショット 2020-04-24 14.36.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/cfcc7951-458b-8f84-74ee-75256ade4cb5.png)

- ポイントはPhantomのAPIへのアクセス制御をAllowed IPsでしっかりとかけておくこと。
![スクリーンショット 2020-04-24 14.37.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/5ea21a46-496a-c894-2657-af9d21f5c466.png)

- 中段のREST APIトークンを後ほどSplunk側で設定しますのでコピー

- 最後に。Playbook内のアクションにて不審なIPアドレスをblock_ipリストに追記します。事前にblock_ipリストの箱を作成しておきます。
![スクリーンショット 2020-04-24 15.02.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/fe8b161f-e91d-0470-a9bb-6f77767ef242.png)


Splunkのアラート連携設定
----
- アラートを飛ばすSplunkに以下のAppをインストールします。
- Phantom関連のAppは紛らわしい名前で4つ近くありますが、アラート連携に使うのは[こちら](https://splunkbase.splunk.com/app/3411/)です。
![スクリーンショット 2020-04-24 14.28.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/8384144f-80b2-ab8c-8a29-16151038edc2.png)
- まずPhantomのAPI連携をするのですが、SSL証明書のVerifyを無効にします。（テスト利用のため）
- ここではSplunkにCLIアクセスしてlocal/phantom.confを修正する必要があります。詳細は[こちら](https://docs.splunk.com/Documentation/PhantomApp/3.0.5/Install/ConfigureCerts#Manage_HTTPS_certificate_validation_using_configuration_files)ご参考ください
![スクリーンショット 2020-04-24 14.33.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/35f86a3e-e46b-ad13-0de5-e5b2a382a96b.png)

- 続いてSplunkとPhantomをAPI連携させます。設定方法詳細は[こちら](https://docs.splunk.com/Documentation/PhantomApp/latest/Install/ConfigurePhantomServer)

- New Server設定時に前にコピーしたtokenを貼り付けて保存。
![スクリーンショット 2020-04-24 14.40.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/2e92ddb0-3b7c-9f35-ccc7-cb7d7acc77a1.png)

- 設定がすむとサーバリストが表示されます。
<img width="1121" alt="スクリーンショット 2020-04-24 14.31.00.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/9593f954-9106-3e44-b242-6632038ea844.png">

- APIテスト接続とPlaybookの同期をしておきます
![スクリーンショット 2020-04-24 14.43.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/1a82aeda-c4b5-e2ea-96ad-98593fda3103.png)

- Splunkのアラートを作成しアラートアクションにPhantomを設定します。
- アラートのサーチ結果の中身には*src*フィールドが含まれるデータを用意するようにします。
![スクリーンショット 2020-04-24 14.58.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/d7549a9e-9bfc-276c-c8b3-5e597399bed7.png)

- アラートアクションにてSend to Phantomを選択し、設定したPhantom Instanceを選び、LabelにWebと記入し保存。
![スクリーンショット 2020-04-24 14.49.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/c22c502c-cd16-1759-4a95-ade04e04547c.png)


Playbookを実行
---
- Splunkからアラートが連携されているとWebタグのイベントが出てくるはずです
<img width="389" alt="スクリーンショット 2020-04-24 15.36.52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/22f932dc-e020-8a36-6ec3-8a500426c214.png">

- 届いているEventを開いてみる
![スクリーンショット 2020-04-24 16.16.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/7195ba97-0af4-ef69-c1c9-8bbd6a3edab7.png)

- まだ何もない
![スクリーンショット 2020-04-24 15.48.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/00b097cf-ed04-ca45-aca6-a4caf2db7654.png)

- Artifactを見ると、srcおよびsourceAddressが抽出されていることが確認できる。これでPlaybookがまわせそう。
![スクリーンショット 2020-04-24 16.18.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/0003399b-ceea-a41c-63e2-57138d475665.png)

- 手動でPlaybookを回す
<img width="389" alt="スクリーンショット 2020-04-24 16.14.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/7d39b026-3f0b-2ce3-4423-fa7a23e04e4f.png">

- アクションが順番に実行されていきみるみる結果がそろっていく
<img width="1666" alt="スクリーンショット 2020-04-24 16.07.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/7cb22343-fd0d-f71a-46de-bfd21347a701.png">

- Splunkサーチ結果も表示されている（ここは皆さんサーチ結果が取得できずに何もでないと思われます）
<img width="1311" alt="スクリーンショット 2020-04-24 16.11.38.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/063ccec7-ac76-9349-a18d-ccfe1bd56505.png">

- エラーが出ていてもポチポチおしていけば原因はわりとすぐに分かる
- Passive TotalのCommunity API制限にかかってしまった模様。
<img width="1490" alt="スクリーンショット 2020-04-24 16.07.50.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/1d2550e7-78ff-323b-8687-1a93581f2960.png">

- 次にアラート連携されたら自動で実行するように設定。右下のActiveをONにしてSAVEすることで自動実行が可能になります。
![スクリーンショット 2020-04-24 15.54.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/b280c69b-5c59-94ab-f420-fa315f641ab6.png)


そしてSplunk Mobileで実行結果の確認＆承認を実行！
---
- Splunk Mobileとの連携も楽！iOSにアプリをインストールさせて連携すればいつでもどこでもPhantomを操作可能
<img width="414" alt="IMG_215A6F0471E0-1.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/1a913d00-0a6a-b3cb-cfa7-79511d30d96a.jpeg">

- アクションの承認もMobileからできちゃう
![スクリーンショット 2020-04-24 16.04.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/185759/5e26a7ea-7bf3-eca7-e452-e7b908027613.png)

- セットアップ手順は[こちら](https://docs.splunk.com/Documentation/Phantom/4.8/Mobile/GetStarted)


今後は
---
- 数ヶ月前に以下を書いていたときから心象がかわって、なぜかWebサイトへの不正アクセスIP調査playbookの作成になってしまいました。。
- 次はエンドポイント周りに対する新たなPlaybookを作成した場合に共有していきたいと思います！
    - [[PhantomでSOAR] 不審メールの調査まとめをSlackに飛ばす](https://qiita.com/odorusatoshi/items/844467d4875c62f8c4c4)