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


BlueTeamを勉強したいんじゃ!シリーズ

前回はまとめ記事を書いたので、今回はSecurityOnionとWindows10を使用したLABをの記事を書きます。どれくらい需要があるか分からないけど、シリーズとして色々と書いていきます。

LAB概要

図のようなLABを作成していきます。

セキュリティオニオンとは

  • 侵入検知・エンドポイント監視などを目的に作られてディストリビューションです。先週の土曜日にバージョン2がリリースされました。
  • おもなコンポーネントは以下の図になります。

ツール概要

  • ELK Stack:可視化&ログ解析
  • Suricata:NIDS
  • Wazuh(OSSEC):HIDS
  • Sysmon:ログ強化
  • Zeek(Bro):NIDS
  • OSquery:エンドポイント調査

SecurityOnionのセットアップ

  1. ISOのダウンロード
  2. VMの設定

    • 最小構成はドキュメントで確認してください。
    • ゲストOSのバージョン:CentOS7(64ビット)
    • CPU:3core
    • メモリ:16GB
    • HDD:100GB
    • NIC:2つ(1つは管理用インターフェース、もう1つはスニッフィングインターフェイス)
    • スニッフィングインターフェイスの仮想スイッチとポートグループをPromiscuous modeに設定する。
  3. 初期設定(ユーザ作成)

    1. 「Do you wish to continme?」と聞かれるので「yes」を入力する。
    2. ユーザ名を入力する。
    3. パスワードを入力する。
    4. 再度パスワードを入力する。
    5. 「Initial Intall complete」と表示されたらEnterキーを押す。
  4. 詳細設定(Security Onion Setup)

    1. ここインストールする構成を選択する。(今回はSTANDALONEを選択)
    2. 「STANDARD」を選択する。
    3. 最小設定が4coreなので、怒られているが気にせず「Yes」を押す。
    4. 「Automatic」を選択する。
    5. Hostnameを入力する。
    6. 管理用インターフェース用のNICを選択する。
    7. 管理用インターフェースのIP設定を選択する。今回は「STATIC」を選択する。
    8. IPアドレスを入力する。
    9. サブネットを入力する。
    10. ゲートウェイのIPを入力する。
    11. DNS ServerのIPを入力する。
    12. DNS Search domainを入力する。
    13. スニッフィングインターフェイスを選択する。
    14. LABのネットワークを入力する。
    15. 「BASIC」を選択する。
    16. 「Zeek」を選択する。
    17. 「ETOPEN」を選択する。
    18. 「OK」を入力する。
    19. インストールするもの選択する。(今回は全部インストールする)
    20. ログイン用のメールアドレスを入力する。
    21. パスワードを入力する。
    22. 再度パスワードを入力する。
    23. Webインターフェースにアクセスする為の方法を選択する。(今回はIPを選択)
    24. 「MANAGER」を選択する。
    25. 「OK」を選択する。
    26. ユーザ:soremote用のパスワードを入力する。
    27. 再度パスワードを入力する。
    28. 「Yes」を選択する。
    29. 「BASIC」を選択する。
    30. Zeek用のプロセッサ数「1」を入力する。
    31. Suricata用のプロセッサ数「1」を入力する。
    32. 「NODEBASIC」を選択する。
    33. 「Yes」を選択する。
    34. Webインターフェースにアクセスする端末のIPアドレスを入力する。
    35. 「Yes」を選択する。
    36. 「OK」を選択する。
  5. デスクトップ環境のセットアップ

    1. 以下のコマンドを実行
sudo so-analyst-install

4. 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をダウンロードする
  2. VMを作成する
  3. MS Officeをインストールする。
  4. OSqueryのインストール

    1. WebインストールのダウンロードからOSqueryのインストーラーをダウンロードする。
    2. 適当な方法でWin10にインストーラーを送る。
    3. インストーラーを実行する。
  5. 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 ~]$ 
  1. Wazuhのインストール(Windows10)

    1. ここからwazuhのインストーラーをダウンロード&実行
    2. ManagerIPにSecurityOnionのIPアドレスをAuthentication key(長い文字)に生成したキーを入力する。
    3. 「SAVE」を押す。
    4. 「Manage」→ 「Start」を押す。
  2. 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をダウンロードする
  2. VMを作成する
  3. MS Officeをインストールする。
  4. CommandoVMをインストールする。
  5. Covenant

    1. .NETをダウンロードする。
    2. .NETのインストーラーを実行する。
    3. Gitのクライアント(適当なやつ)をインストールする。
    4. 以下のコマンドでリポジトリのコピーとbuildと実行。
      git clone --recurse-submodules https://github.com/cobbr/Covenant
      cd Covenant/Covenant 
      dotnet build
      dotnet run
    

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