BlueTeamを勉強したいんじゃ！~LAB構築編~

## BlueTeamを勉強したいんじゃ！シリーズ
前回は[まとめ記事](https://qiita.com/ninja400/items/9e43dd69a2297aea499b)を書いたので、今回はSecurityOnionとWindows10を使用したLABをの記事を書きます。どれくらい需要があるか分からないけど、シリーズとして色々と書いていきます。

## LAB概要
図のようなLABを作成していきます。![プレゼンテーション1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/65cff748-1043-c874-14d3-70d5a403afe2.png)



## セキュリティオニオンとは
- 侵入検知・エンドポイント監視などを目的に作られてディストリビューションです。先週の土曜日にバージョン2がリリースされました。 
    - [ホームページ](https://securityonionsolutions.com/)
    - [ドキュメント](https://docs.securityonion.net/en/2.3/)
- おもなコンポーネントは以下の図になります。

![standalone.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/c2d5b0c2-23a0-3e66-94a7-dd82ccd46be7.png)


### ツール概要
- ELK Stack：可視化&ログ解析
- Suricata：NIDS
- Wazuh(OSSEC)：HIDS
- Sysmon：ログ強化
- Zeek(Bro)：NIDS
- OSquery:エンドポイント調査


## SecurityOnionのセットアップ
1. ISOのダウンロード
   - 下記のURLからISOをダウンロードする。
   - https://github.com/Security-Onion-Solutions/securityonion/blob/master/VERIFY_ISO.md
2. VMの設定
   - [最小構成](https://docs.securityonion.net/en/2.3/hardware.html)はドキュメントで確認してください。
   - ゲストOSのバージョン：CentOS7(64ビット)
   - CPU：3core
   - メモリ：16GB
   - HDD：100GB
   - NIC:2つ(１つは管理用インターフェース、もう1つはスニッフィングインターフェイス)
   - スニッフィングインターフェイスの仮想スイッチとポートグループをPromiscuous modeに設定する。
   - 例![スクリーンショット 2020-10-20 230811.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/ba4fc086-bf7c-7f56-a5a9-c3bceed815de.png)

1. 初期設定(ユーザ作成)
   1. 「Do you wish to continme?」と聞かれるので「yes」を入力する。
   2. ユーザ名を入力する。
   3. パスワードを入力する。
   4. 再度パスワードを入力する。
   5. 「Initial Intall complete」と表示されたらEnterキーを押す。
2. 詳細設定(Security Onion Setup)
   1. ここインストールする構成を選択する。(今回はSTANDALONEを選択)![スクリーンショット 2020-10-17 120217.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/8da43dcf-a9b5-c892-d763-432302ce74c3.png)

   2. 「STANDARD」を選択する。![スクリーンショット 2020-10-17 120233.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/a9350389-9246-8fe1-c69b-b7027f64a96c.png)

   3. 最小設定が4coreなので、怒られているが気にせず「Yes」を押す。![スクリーンショット 2020-10-17 120247.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/5b99505f-8ef1-b53d-4b57-a76edb6aa240.png)

   4. 「Automatic」を選択する。![スクリーンショット 2020-10-17 120257.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/1a731b34-420f-18d3-09d9-00e59d7df5c1.png)

   5. Hostnameを入力する。![スクリーンショット 2020-10-17 120307.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/e7e210fc-80ac-204d-9fa3-c6482617d773.png)

   6. 管理用インターフェース用のNICを選択する。![スクリーンショット 2020-10-17 120317.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/b158cdfc-06f7-e10f-ba72-bf73ffe3657c.png)

   7. 管理用インターフェースのIP設定を選択する。今回は「STATIC」を選択する。![スクリーンショット 2020-10-17 120326.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/ad2397f7-9bb9-877c-43aa-64082b29d402.png)

   8. IPアドレスを入力する。![スクリーンショット 2020-10-17 120336.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/4896c456-7c26-7e57-f3ac-e559eb2e066f.png)

   9. サブネットを入力する。![スクリーンショット 2020-10-17 120352.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/6d83c568-b5aa-ad33-ab0f-84eaecef6411.png)

   10. ゲートウェイのIPを入力する。![スクリーンショット 2020-10-17 120400.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/fcc4a88a-3603-1b79-df66-6436e7a31d13.png)

   11. DNS ServerのIPを入力する。![スクリーンショット 2020-10-17 120413.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/1776d02c-021a-c12e-2e25-bd17b14b4fd8.png)

   12. DNS Search domainを入力する。![スクリーンショット 2020-10-17 120422.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/fe04fc55-62b1-5eea-3158-efdb67c40c84.png)

   13. スニッフィングインターフェイスを選択する。![スクリーンショット 2020-10-17 120431.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/f8ce4175-f92b-777f-48da-72cd25cd385a.png)

   14. LABのネットワークを入力する。![スクリーンショット 2020-10-17 120448.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/e8eebcbf-452a-cc07-0fde-3b2b4ba726be.png)

   15. 「BASIC」を選択する。![スクリーンショット 2020-10-17 120512.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/a6b52a68-ab93-0be0-c8a7-52abb507bedc.png)

   16. 「Zeek」を選択する。![スクリーンショット 2020-10-17 120522.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/2c09ffdc-7f9e-1dd5-dd4e-85d027aa6fdf.png)

   17. 「ETOPEN」を選択する。![スクリーンショット 2020-10-17 120533.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/31610934-73dc-a5d5-634b-779948a8b7e2.png)

   18. 「OK」を入力する。![スクリーンショット 2020-10-17 120546.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/b20a7c5e-6d3e-15fd-a666-30bd048334ba.png)

   19. インストールするもの選択する。(今回は全部インストールする)![スクリーンショット 2020-10-17 120557.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/8e9bf09d-e9e7-3ab9-65d1-9588c4a12313.png)

   20. ログイン用のメールアドレスを入力する。![スクリーンショット 2020-10-17 120605.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/f20e1a94-100b-bd39-6f7a-9dda22f1017d.png)

   21. パスワードを入力する。![スクリーンショット 2020-10-17 120725.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/4dab55c8-972c-0196-ed16-9a1a235d5470.png)

   22. 再度パスワードを入力する。![スクリーンショット 2020-10-17 120743.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/7d3e66bb-e82a-777a-641c-45f3e45fa502.png)

   24. Webインターフェースにアクセスする為の方法を選択する。(今回はIPを選択)![スクリーンショット 2020-10-17 120756.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/5591df38-fdd3-0538-2740-5148abf260d8.png)

   25. 「MANAGER」を選択する。![スクリーンショット 2020-10-17 120807.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/5cb92013-bdf8-2e35-fcec-a73417870b2f.png)

   26. 「OK」を選択する。![スクリーンショット 2020-10-17 120818.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/fe453491-7e01-f245-d9c2-9be0ccbe09e7.png)

   27. ユーザ：soremote用のパスワードを入力する。![スクリーンショット 2020-10-17 120832.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/488167f8-4d60-8600-29e7-a0ddb88e2a56.png)

   28. 再度パスワードを入力する。![スクリーンショット 2020-10-17 120855.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/b854f073-d847-a102-9cec-8ab08cdd0028.png)

   29. 「Yes」を選択する。![11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/c38fde95-14c8-0050-1ced-9cd08052e6e0.png)

   30. 「BASIC」を選択する。![スクリーンショット 2020-10-17 120912.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/b3783afb-d2e5-71c3-fd8a-345e69919369.png)

   31. Zeek用のプロセッサ数「1」を入力する。![スクリーンショット 2020-10-17 120920.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/05c4f3ee-e15f-a76c-7d17-4f4cd63ee445.png)

   32. Suricata用のプロセッサ数「1」を入力する。![スクリーンショット 2020-10-17 120928.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/1a8547a0-db68-3603-d5d4-5326d4f15834.png)

   33. 「NODEBASIC」を選択する。![スクリーンショット 2020-10-17 120939.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/db52787a-b1db-3f22-c25e-26fd68519eb7.png)

   34. 「Yes」を選択する。![スクリーンショット 2020-10-17 120949.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/31b5f123-09b8-deaa-1137-ec89aa5f19d2.png)

   35. Webインターフェースにアクセスする端末のIPアドレスを入力する。![スクリーンショット 2020-10-17 121014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/879ec62e-8502-a5df-8b2e-c6dda381e67d.png)

   36. 「Yes」を選択する。![スクリーンショット 2020-10-17 121025.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/21b37991-0c4b-9a4d-7cec-4a6dd62c2fac.png)

   37. 「OK」を選択する。![スクリーンショット 2020-10-17 123909.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/0a84c2d6-22f7-9efb-6cc4-40f35514a76b.png)

3. デスクトップ環境のセットアップ
   1. 以下のコマンドを実行


```   
sudo so-analyst-install
```

４. Firewallの設定
   1. 下記のコマンドを実行

```
sudo so-allow
```

　2. OSquery,WazuhをインストールするWindows10のIPを入力する

```
This program allows you to add a firewall rule to allow connections from a new IP address.

Choose the role for the IP or Range you would like to add

[a] - Analyst - ports 80/tcp and 443/tcp
[b] - Logstash Beat - port 5044/tcp
[o] - Osquery endpoint - port 8090/tcp
[s] - Syslog device - 514/tcp/udp
[w] - Wazuh agent - port 1514/tcp/udp
[p] - Wazuh API - port 55000/tcp
[r] - Wazuh registration service - 1515/tcp
Please enter your selection (a - analyst, b - beats, o - osquery, w - wazuh):

```


## Windows10(やれら)

1. ISOかOVAをダウンロードする
   - https://www.microsoft.com/ja-jp/evalcenter/evaluate-windows-10-enterprise
   - https://developer.microsoft.com/ja-jp/windows/downloads/virtual-machines/
2. VMを作成する
3. MS Officeをインストールする。
3. OSqueryのインストール
   1. WebインストールのダウンロードからOSqueryのインストーラーをダウンロードする。![プレゼンテーション2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/b9ad1b8e-ad08-6053-c7b1-86d67a2c1f3e.png)

   2. 適当な方法でWin10にインストーラーを送る。
   3. インストーラーを実行する。
4. Wazuhの準備(securityonion)

- ホストのIPとagent名(任意)を登録する。

   ```
[seconion@securityonion ~]$ sudo docker exec -it so-wazuh /var/ossec/bin/manage_agents -a <agent-ip> -n <agent-name>
[sudo] password for seconion: 


****************************************
* Wazuh v3.13.1 Agent manager.         *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: 
- Adding a new agent (use '\q' to return to the main menu).
  Please provide the following:
   * A name for the new agent:    * The IP Address of the new agent:    * An ID for the new agent[002]: Agent information:
   ID:002
   Name:windows10
   IP Address:192.168.1.86

Confirm adding it?(y/n): Agent added with ID 002.

manage_agents: Exiting.
   ```
- 次の以下のagent IDを確認する。

```
[seconion@securityonion ~]$    sudo docker exec -it so-wazuh /var/ossec/bin/manage_agents -l

Available agents: 
   ID: 001, Name: securityonion, IP: 192.168.1.63
   ID: 002, Name: windows10, IP: 192.168.1.86

```

- Authentication keyを生成する

```
[seconion@securityonion ~]$ sudo docker exec -it so-wazuh /var/ossec/bin/manage_agents -e <ID>

Agent key information for '002' is: 
MDAyIHdpbmRvd3MxMCAxOTIuMTY4LjEuODYgNzMwNzNlOGIzYjZlZTdmMGNiMjM1OWQ1YjY0Y2QwZDE4MTNhNTU3ZjYzODFjNTJhYjRmYjY4ZjIzM2VhOGVmZg==
[seconion@securityonion ~]$ 
```

5. Wazuhのインストール(Windows10)
  1. [ここ](https://documentation.wazuh.com/3.13/installation-guide/installing-wazuh-agent/windows/wazuh_agent_package_windows.html#wazuh-agent-package-windows)からwazuhのインストーラーをダウンロード&実行
  3. ManagerIPにSecurityOnionのIPアドレスをAuthentication key(長い文字)に生成したキーを入力する。
  4. 「SAVE」を押す。![スクリーンショット 2020-10-20 232412.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/7aad2370-2cfb-81e6-a230-482571673ab2.png)
  5. 「Manage」→ 「Start」を押す。![スクリーンショット 2020-10-22 232133.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509755/cb517c7d-429a-b0d3-3e9d-e0a47c27ae60.png)

6. Winlogbeatとsysmonのインストール

- 以下のURLからwinlogbeat(zip)、sysmon、symonコンフィグをダウンロードする。

```
Winlogbeats
https://www.elastic.co/jp/downloads/beats/winlogbeat

sysmon
https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
sysmonコンフィグ
https://gist.github.com/Cyb3rWard0g/136481552d8845e52962534d1a4b8664#file-startlogging-xml
```
  - sysmonのインストール

```
Sysmon64.exe accepteula -i my_sysmon_config.xml
```

  - Winlogbeatのディレクトリ展開

```
C:\Program Files に展開し、ディレクトリ名をwinlogbeat-<version>からWinlogbeatに変更します。                                  
```

- Powershellで以下のコマンドを実行

```
cd "C:\Program Files\winlogbeat"    
Set-ExecutionPolicy Unrestricted         
.\install-service-winlogbeat.ps1         
Set-ExecutionPolicy Restricted            
Start-Service -Name winlogbeat -PassThru  
exit    
```


## Windows10(攻撃)
1. ISOかOVAをダウンロードする
   - https://www.microsoft.com/ja-jp/evalcenter/evaluate-windows-10-enterprise
   - https://developer.microsoft.com/ja-jp/windows/downloads/virtual-machines/
2. VMを作成する
3. MS Officeをインストールする。
3. CommandoVMをインストールする。
   - https://github.com/fireeye/commando-vm
   - [README](https://github.com/fireeye/commando-vm#standard-install)に従いインストールする。
4. Covenant
   1. [.NET](https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.403-windows-x64-installer)をダウンロードする。
   2. .NETのインストーラーを実行する。
   3. Gitのクライアント(適当なやつ)をインストールする。
   4. 以下のコマンドでリポジトリのコピーとbuildと実行。
      
      ```
      git clone --recurse-submodules https://github.com/cobbr/Covenant
      cd Covenant/Covenant 
      dotnet build
      dotnet run
      ```

## 次回：Covenantの攻撃をハンティング