OSS XDR - Wazuhを試してみた

28.5K Views

April 19, 23

スライド概要

Co-CySec勉強会 2023/04/19 の資料です。
Wazuhを試したあと、デモをしているのでそっちが盛り上がりました。

profile-image

Georepublic / OSGeo.JP / Japan Unix Society / OpenStreetMap Foundation Japan

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

OSS XDR Wazuh を試してみた Taro Matsuzawa (@smellman) Co-CySec 2023/4/19

2.

自己紹介 ● ● ● ● ● ● ● ● ● 合同会社Georepublic Japan R&D / GIS Specialist 日本UNIXユーザー会 会長 一般社団法人 OSGeo日本支部 理事 一般社団法人 OpenStreetMap Foundation Japan 理事 東京電機大学OB & CySec修了生 Breakcore クラスタ 3/24に42歳になりました 英語の本を大量に買って勉強中 今年はKosovoに行きます

3.

宣伝 #位置エン本 現場のプロがわかりやすく教える 位置情報エンジニア養成講座 絶賛発売中です。 紹介者として名前が載っています。 増刷決定おめ!

4.

本日のお題 ● ● ● ● OSS XDR - Wazuhとは Wazuhのサーバ構築 Wazuhのクライアント(Agent)のインストール 実際に攻撃してみる

5.

OSS XDR - Wazuhとは https://wazuh.com/ ● サーバ側としてWazuh Indexer, Wazuh Server, Wazuh Dashboardに分かれている。 ○ ○ ○ ● 一つのサーバにインストール可能 冗長化を考えるならサーバを分けた方が良い Amazon Linux 2, CentOS, RHEL, Ubuntuをサポート AgentとしてはWindows, macOS, Linux, Solaris, AIX(!), HP-UX(!)に対応 ○ ○ macOS, Linuxに対応している XDRは少ないので個人的には助かる AIXとHP-UXに対応しているのはめっちゃウケる

9.

今回作るネットワーク Bridge Server Windows 11 + Agent ルーター Client (Ubuntu) + Agent ホスト(macOS) + Agent Kali Linux

10.

Wazuhのサーバ構築 ● ● ホストサーバはUbuntu 22.04 Virtual Box上で、ネットワークをブリッジにして構築 ○ ● ● ● 他のマシンからもアクセスが可能に VCPU 2 Memory 8GB ホストサーバにはOpenSSH以外は基本入れないようにした

11.

Wazuh server一式をインストール ● ● https://documentation.wazuh.com/current/quickstart.html に沿ってインストール curl -sO https://packages.wazuh.com/4.4/wazuh-install.sh && sudo bash ./wazuh-install.sh -a ○ ● ● インストール終了後に adminのパスワードが出てくるのでそれをパスワードマネージャーなどに控えておく 上記コマンドだけでIndexer, server, dashboardがインストールされます あとは https://<wazuh-dashboard-ip> へブラウザでアクセス ○ ○ 実際に運用する場合は https://documentation.wazuh.com/current/installation-guide/wazuh-dashboard/step-by-step.html を参考にし て SSLの設定をすること。 今回は https://192.168.10.32 へアクセス (オレオレ証明書 )

15.

Wazuh Agentのインストール - Linux (1) ● ● Ubuntu 22.04 Desktop + Virtual Box Guest Additions をインストールした環境を用意 https://documentation.wazuh.com/current/installation-guide/wazuh-agent/wazuh-agent-package-lin ux.html の手順に沿ってインストール(若干調整) ○ ○ ○ ○ ○ ○ sudo apt-get install curl sudo su curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && chmod 644 /usr/share/keyrings/wazuh.gpg echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | tee -a /etc/apt/sources.list.d/wazuh.list apt-get update WAZUH_MANAGER="10.0.0.2" apt-get install wazuh-agent

16.

Wazuh Agentのインストール - Linux(2) ● 続き ○ ○ ○ ● agentのバージョンを固定にする ○ ● systemctl daemon-reload systemctl enable wazuh-agent systemctl start wazuh-agent echo "wazuh-agent hold" | dpkg --set-selections 設定を編集(IPアドレスを追加) ○ ○ ○ apt-get install vim vim /var/ossec/etc/ossec.conf systemctl restart wazuh-agent

17.

(補足) Virtual Box Guest Additions ● ● Virtual Boxのホストマシンからクリップボードの共有、画面の解像度(Graphic Driver)の変更などに対応 させるモジュール インストール方法 ○ ○ ○ ○ ○ ○ ○ sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install bzip2 メニューから Guest Additions CDを挿入を実行 sudo mount -t iso9660 /dev/cdrom /media sudo /media/VBoxLinuxAdditions.run sudo reboot

18.

Wazuh Serverで認識された

19.

Wazuh Agentのインストール別方法 ● Wazuh ServerにAdd Agent リンク、もしくは+Deploy a new agent ボタンがあり、それからインストールす ると設定ファイルをいじらない方法でインストールが可能 ○ ○ インストール時に環境変数を入れるという方法 macで試しに入れてみる

20.

Deploy new agent

22.

Wazuh Agentのインストール (macOS) ● ● curl -so wazuh-agent.pkg https://packages.wazuh.com/4.x/macos/wazuh-agent-4.4.1-1.pkg && sudo launchctl setenv WAZUH_MANAGER '192.168.10.32' WAZUH_AGENT_GROUP 'default' WAZUH_AGENT_NAME 'btm_macOS' && sudo installer -pkg ./wazuh-agent.pkg -target / /Library/Ossec/bin/wazuh-control start

23.

macOSも追加

24.

Wazuh Agentのインストール - Windows ● https://documentation.wazuh.com/current/installation-guide/wazuh-agent/wazuh-agent-package-wi ndows.html GUIでのダウンロードを実施 ● C:\Program Files (x86)\ossec-agent\win32ui.exe で設定をする メニューから Manageのrestartをする。 ●

25.

最終状態

26.

攻撃をしてみる ● Kali Linuxを攻撃用インスタンスと見なして作業 ○ ○ ○ crunch 2 2 -o password.txt hydra -l btm -P password.txt 192.168.10.31 ssh ■ あれ、macOSに攻撃しても動かない ■ 仕方ないので UbuntuにOpenSSHを入れてから攻撃 hydra -l btm -P password.txt 192.168.10.35 ssh

28.

インストールしたものも検知できる

29.

WindowsでTerapad.exeをインストール時 検出できるが、具体的なアプリ名は出てこない

30.

具体的に何ができるのか ● ● ● ● ● デフォルトルールとカスタムルールによる検知 active-repsonseによるリアルタイムアクセス排除 特定コマンドの実行検知 ファイル変更の検知 malware検知 ○ 基本的に XMLを書くので辛い ○ 基本rootで作業するのがちょっと嫌 ■ /var/ossecに入るのが rootアカウントが必要

31.

ファイルの検知 ● /var/ossec/etc/shared/default/agent.confに以下の行を追加 <syscheck> <directories check_all="yes" realtime="yes" report_changes="yes">/root</directories> <windows_registry arch="64bit" report_changes="yes">HKEY_LOCAL_MACHINE\SYSTEM\Setup</windows_registry> </syscheck> ● /var/ossec/etc/local_internal_options.confに以下の行を追加 wazuh_command.remote_commands=1 ● systemctl restart wazuh-manager.service ● agentも再起動する

32.

/rootにファイルを追加

33.

XDRとして ● 他のXDRを使ったことがないので正直わからん。 ● LinuxやmacOSなど対応OSが多い。 ○ ● ただしWindowsのサポートがまだまだな気がする。 サーバサイドで不正検知とかには結構良さそう。 ○ Linuxのデフォルトルール +必要なカスタマイズをすれば結構良さそう。

34.

まとめ ● 今のところあくまでLinux/Unix向けと考えた方が良さそう ○ ○ ● レジストリの検知ができるようだけど、ちょっと試せなかった Windowsでもログオン、ログオフがちゃんと出てくるので簡単な監視には使える とにかく英語のドキュメントは充実しているので頑張って読む必要がある ○ お金で殴る方がよいかもしれない