もっと詳しく

このチュートリアルでは、Wazuh と ELK スタックを使用して、Windows システム上の重要なファイルへの変更を監視する方法を学習します。 ファイル操作は、ファイルの作成、更新、上書き、または削除時にログに記録されます。 このようなファイル変更イベントは、スタートアップ フォルダ、ダウンロード、一時ディレクトリ、またはその他のカスタム ディレクトリなどのディレクトリの下にあるファイルを監視するのに役立ちます。. ファイル/フォルダ アクティビティは、 ファイル整合性監視 (FIM) およびレジストリ変更監視. したがって、これらの重要なファイルへの変更を検出するには、これらの重要なファイルが存在するフォルダーに対するファイルの整合性の監視を有効にする必要があります。

Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する

Wazuh および ELK スタックを使用して Windows システム上の重要なファイルへの変更を監視するには、行われた変更に関連するイベントを収集し、Kibana Wazuh アプリで視覚化するためにそれらを Wazuh Manager にプッシュする必要があります。

Wazuh Manager をインストールして ELK スタックと統合する

したがって、開始する前に、ELK スタックが Wazuh マネージャーと統合され、稼働中であることを確認してください。 以下のサンプル チュートリアルを参照してください。

Wazuh Manager を ELK スタックと統合する

Rocky Linux 8 に Wazuh サーバーをインストールする

注: ELK 7.17.0 と Wazuh Manager 4.3.6 を実行しています。

Kibana (ELK) バージョン;

cat /usr/share/kibana/package.json | grep version

サンプル出力;

  "version": "7.17.0",

Wazuh Manager バージョン;

/var/ossec/bin/wazuh-control info | grep WAZUH_VERSION

サンプル出力;

WAZUH_VERSION="v4.3.6"

Windows システムに Wazuh エージェントをインストールする

このセットアップ例では、デモンストレーション目的で Windows 10 システムを使用します。

Windows 10 に Wazuh エージェントをインストールし、Wazuh マネージャーに自動的に追加するには、次のようにします。

  • Kibana にログインし、Wazuh App > Agents > Deploy a new agent に移動します。
  • オペレーティング システムを選択します。この例では Windows です。
  • Wazuh サーバーのアドレスを設定する
  • 他の設定はデフォルトのままにしておくことができます。
  • 下にスクロールし、[エージェントのインストールと登録]の下で、Windows Wazuh エージェントのインストール コマンドをコピーします。
Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する
Invoke-WebRequest -Uri `
https://packages.wazuh.com/4.x/windows/wazuh-agent-4.3.6-1.msi `
-OutFile ${env:tmp}wazuh-agent-4.3.6.msi; msiexec.exe /i ${env:tmp}wazuh-agent-4.3.6.msi `
/q WAZUH_MANAGER='192.168.58.22' WAZUH_REGISTRATION_SERVER='192.168.58.22' 
  • 次に、Windows にログインし、管理者として Powershell を開きます。
  • 上記のコマンドをコピーして貼り付け、Powershell で実行します。
  • インストールが完了したら、Wazuh エージェント サービスを開始します。
NET START WazuhSvc

Kibana Wazuh アプリにも表示されるはずです。

Wazuh Manager コマンドラインで確認するには;

/var/ossec/bin/agent_control -l

アクティブなエージェントの中に表示されるはずです。

Wazuh agent_control. List of available agents:
   ID: 000, Name: debian11 (server), IP: 127.0.0.1, Active/Local
   ID: 001, Name: DESKTOP-JQ6I3Q8, IP: any, Active

List of agentless devices:

重要なファイルを含むフォルダでファイル整合性監視を有効にする

デフォルトでは、Wazuh は一部のシステム ファイルのファイル整合性監視を有効にします。 <!-- File integrity monitoring --> のセクション ossec.conf 構成ファイル;

  <!-- File integrity monitoring -->
  <syscheck>

    <disabled>no</disabled>

    <!-- Frequency that syscheck is executed default every 12 hours -->
    <frequency>43200</frequency>

    <!-- Default files to be monitored. -->
    <directories recursion_level="0" restrict="regedit.exe$|system.ini$|win.ini$">%WINDIR%</directories>

    <directories recursion_level="0" restrict="at.exe$|attrib.exe$|cacls.exe$|cmd.exe$|eventcreate.exe$|ftp.exe$|lsass.exe$|net.exe$|net1.exe$|netsh.exe$|reg.exe$|regedt32.exe|regsvr32.exe|runas.exe|sc.exe|schtasks.exe|sethc.exe|subst.exe$">%WINDIR%SysNative</directories>
    <directories recursion_level="0">%WINDIR%SysNativedriversetc</directories>
    <directories recursion_level="0" restrict="WMIC.exe$">%WINDIR%SysNativewbem</directories>
    <directories recursion_level="0" restrict="powershell.exe$">%WINDIR%SysNativeWindowsPowerShellv1.0</directories>
    <directories recursion_level="0" restrict="winrm.vbs$">%WINDIR%SysNative</directories>

    <!-- 32-bit programs. -->
    <directories recursion_level="0" restrict="at.exe$|attrib.exe$|cacls.exe$|cmd.exe$|eventcreate.exe$|ftp.exe$|lsass.exe$|net.exe$|net1.exe$|netsh.exe$|reg.exe$|regedit.exe$|regedt32.exe$|regsvr32.exe$|runas.exe$|sc.exe$|schtasks.exe$|sethc.exe$|subst.exe$">%WINDIR%System32</directories>
    <directories recursion_level="0">%WINDIR%System32driversetc</directories>
    <directories recursion_level="0" restrict="WMIC.exe$">%WINDIR%System32wbem</directories>
    <directories recursion_level="0" restrict="powershell.exe$">%WINDIR%System32WindowsPowerShellv1.0</directories>
    <directories recursion_level="0" restrict="winrm.vbs$">%WINDIR%System32</directories>

    <directories realtime="yes">%PROGRAMDATA%MicrosoftWindowsStart MenuProgramsStartup</directories>

    <ignore>%PROGRAMDATA%MicrosoftWindowsStart MenuProgramsStartupdesktop.ini</ignore>

    <ignore type="sregex">.log$|.htm$|.jpg$|.png$|.chm$|.pnf$|.evtx$</ignore>

    <!-- Windows registry entries to monitor. -->
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassesbatfile</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassescmdfile</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassescomfile</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassesexefile</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassespiffile</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassesAllFilesystemObjects</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassesDirectory</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareClassesFolder</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareClassesProtocols</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwarePolicies</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESecurity</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftInternet Explorer</windows_registry>

    <windows_registry>HKEY_LOCAL_MACHINESystemCurrentControlSetServices</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerKnownDLLs</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESystemCurrentControlSetControlSecurePipeServerswinreg</windows_registry>

    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce</windows_registry>
    <windows_registry>HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionURL</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPolicies</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindows</windows_registry>
    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon</windows_registry>

    <windows_registry arch="both">HKEY_LOCAL_MACHINESoftwareMicrosoftActive SetupInstalled Components</windows_registry>

    <!-- Windows registry entries to ignore. -->
    <registry_ignore>HKEY_LOCAL_MACHINESecurityPolicySecrets</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESecuritySAMDomainsAccountUsers</registry_ignore>
    <registry_ignore type="sregex">Enum$</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMpsSvcParametersAppCs</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMpsSvcParametersPortKeywordsDHCP</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMpsSvcParametersPortKeywordsIPTLSIn</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMpsSvcParametersPortKeywordsIPTLSOut</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMpsSvcParametersPortKeywordsRPC-EPMap</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMpsSvcParametersPortKeywordsTeredo</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesPolicyAgentParametersCache</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx</registry_ignore>
    <registry_ignore>HKEY_LOCAL_MACHINESystemCurrentControlSetServicesADOVMPPackageFinal</registry_ignore>

    <!-- Frequency for ACL checking (seconds) -->
    <windows_audit_interval>60</windows_audit_interval>

    <!-- Nice value for Syscheck module -->
    <process_priority>10</process_priority>

    <!-- Maximum output throughput -->
    <max_eps>100</max_eps>

    <!-- Database synchronization settings -->
    <synchronization>
      <enabled>yes</enabled>
      <interval>5m</interval>
      <max_interval>1h</max_interval>
      <max_eps>10</max_eps>
    </synchronization>
  </syscheck>

では、ファイルの整合性を監視するためにカスタム フォルダーを構成に追加するにはどうすればよいでしょうか。

フォルダがあるとしましょう。 C:FIMたとえば、その中のファイルのすべての変更を監視したい場合は、次の構成行を <syscheck> </syscheck> セクション。

<directories check_all="yes" realtime="yes" report_changes="yes">C:FIM</directories>
  • check_all: 次の check_* オプションを有効にします。 check_sum, check_sha1sum, check_md5sum, check_size, check_owner, check_group, check_perm.
  • realtime: リアルタイム/連続監視を有効にします。
  • report_changes: ファイルの変更/レジストリ値の変更の差分をレポートします。

これは、上記の行を C:Program Files (x86)ossec-agentossec.conf;

  <!-- File integrity monitoring -->
  <syscheck>

    <disabled>no</disabled>

    <!-- Frequency that syscheck is executed default every 12 hours -->
    <frequency>43200</frequency>
    
    <!-- Custom Folder -->
    <directories check_all="yes" realtime="yes" report_changes="yes">C:FIM</directories>

    <!-- Default files to be monitored. -->
    <directories recursion_level="0" restrict="regedit.exe$|system.ini$|win.ini$">%WINDIR%</directories>
...

設定ファイルを変更したら、エージェントを再起動します。 管理者として Powershell で以下のコマンドを実行できます。

Restart-Service WazuhSvc

サービスのステータスを確認します。

Get-Service WazuhSvc

何らかの理由でサービスが停止した場合は、必ずエージェント ログをチェックして問題の原因を突き止めてください。

重要なファイルへの変更をシミュレートします。

カスタムフォルダーの下に、 C:FIM、2 つのファイルがあります。

ls C:FIM

    Directory: C:FIM


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         7/30/2022   7:40 AM            667 file001.txt
-a----         7/30/2022   7:40 AM            667 file002.txt

そのため、file001.txt と file002.txt に変更を加えてみてください。

  • powershell を使用すると、echo コマンドを使用して実行できます。
 echo "This is a tes FIM line 001" >> 'C:FIMfile001.txt'
  • file002.txt のいくつかの行を削除します
  • 新しいファイルを作成する
  • 新しく作成したファイルを削除

すぐに、Wazuh ダッシュボードで変更を確認できるはずです。 それぞれのエージェントを選択し、次の場所に移動します 完全性監視 ダッシュボード;

Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する

関連するイベントを確認してみましょう イベント タブで詳細を確認できます。

Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する

ご覧のとおり、追加、削除、および変更されたファイルが表示されます。

ファイル変更イベントを確認してみましょう。 file001.txt については、行を追加しました。 file002.txt については、一部の行を削除しました。

したがって、これら 2 つのイベントを展開します。 あなたは下に気づくでしょう syscheck.diffs フィールドに、実際にファイルに加えられた変更が表示されます。

File001.txt;

Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する

File002.txt;

Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する

すごいですね。

これが、Wazuh と ELK スタックを使用して、Windows システム上の重要なファイルへの変更を簡単に監視する方法です。

その他のチュートリアル

Wazuh および ELK スタックを使用して Windows システムでプロセス作成イベントを監視する

Wazuh を使用して ModSecurity ログを処理する

The post Wazuh と ELK を使用して Windows システム上の重要なファイルへの変更を監視する appeared first on Gamingsym Japan.