3.4K Views
May 20, 23
スライド概要
OpenSource Conference 2023 Online/Nagoya LT
ほぼ他の勉強会で使ったネタです。
Georepublic / OSGeo.JP / Japan Unix Society / OpenStreetMap Foundation Japan
OSS XDR Wazuh を試してみた Taro Matsuzawa (@smellman) OSC 2023 Online/Nagoya LT
自己紹介 ● ● ● ● ● ● ● ● 日本UNIXユーザー会 会長 一般社団法人 OSGeo日本支部 理事 一般社団法人 OpenStreetMap Foundation Japan 理事 東京電機大学OB & CySec修了生 Breakcore クラスタ 3/24に42歳になりました 英語の本を大量に買って勉強中 来月はKosovoに行きます
本日のお題 ● ● ● ● ● XDRとは OSS XDR - Wazuhとは Wazuhのサーバ構築 Wazuhのクライアント(Agent)のインストール 実際に攻撃してみる
XDRとは https://www.cybereason.co.jp/blog/xdr/7104/
OSS XDR - Wazuhとは https://wazuh.com/ ● ● OSSなXDRの実装。 サーバ側として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に対応しているのはめっちゃウケる
今回作るネットワーク 192.168.10.32 Bridge Server 192.168.10.0/24 Windows 11 + Agent ルーター Client (Ubuntu) + Agent ホスト(macOS) + Agent Kali Linux
Wazuhのサーバ構築 ● ● ホストサーバはUbuntu 22.04 Virtual Box上で、ネットワークをブリッジにして構築 ○ ● ● ● 他のマシンからもアクセスが可能に VCPU 2 Memory 8GB ホストサーバにはOpenSSH以外は基本入れないようにした
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 へアクセス (オレオレ証明書 )
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
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
Wazuh Serverで認識された
Wazuh Agentのインストール別方法 ● Wazuh ServerにAdd Agent リンク、もしくは+Deploy a new agent ボタンがあり、それからインストールす ると設定ファイルをいじらない方法でインストールが可能 ○ ○ インストール時に環境変数を入れるという方法 macで試しに入れてみる
Deploy new agent
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
macOSも追加
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をする。 ●
最終状態
攻撃をしてみる ● 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
インストールしたものも検知できる
WindowsでTerapad.exeをインストール時 検出できるが、具体的なアプリ名は出てこない
具体的に何ができるのか ● ● ● ● ● デフォルトルールとカスタムルールによる検知 active-repsonseによるリアルタイムアクセス排除 特定コマンドの実行検知 ファイル変更の検知 malware検知 ○ 基本的に XMLを書くので辛い ○ 基本rootで作業するのがちょっと嫌 ■ /var/ossecに入るのが rootアカウントが必要
ファイルの検知 ● /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も再起動する
/rootにファイルを追加
XDRとして ● 他のXDRを使ったことがないので正直わからん。 ● LinuxやmacOSなど対応OSが多い。 ○ ● ただしWindowsのサポートがまだまだな気がする。 サーバサイドで不正検知とかには結構良さそう。 ○ Linuxのデフォルトルール +必要なカスタマイズをすれば結構良さそう。
まとめ ● 今のところあくまでLinux/Unix向けと考えた方が良さそう ○ ○ ● レジストリの検知ができるようだけど、ちょっと試せなかった Windowsでもログオン、ログオフがちゃんと出てくるので簡単な監視には使える とにかく英語のドキュメントは充実しているので頑張って読む必要がある