使用 Wazuh 和 VirusTotal 检测恶意文件

在本教程中,您将学习使用 Wazuh 和 VirusTotal 检测恶意文件。 Wazuh 是一个开源安全监控系统,通过监控文件系统,识别您需要关注的文件的内容、权限、所有权和属性的变化来支持文件完整性监控。 此外,它本机识别用于创建或修改文件的用户和应用程序。

为了检测系统上的恶意文件,Wazuh 可以与 VirusTotal 集成,VirusTotal 是一个在线系统,可分析可疑文件和 URL 以检测恶意软件、木马、蠕虫的类型。

在服务器上运行的 Wazuh 代理上的 Sycheck 守护进程监视添加的任何文件并计算其散列。 然后它通过 VirusTotal API 将计算出的哈希值提交给 VirusTotal。 VirusTotal 将分析任何已知恶意软件的哈希值,并将警报发送回 Wazuh,然后 Wazuh 发出警报。

使用 Wazuh 和 VirusTotal 检测恶意文件

安装和设置 Wazuh 服务器

在我们继续之前,我们假设您已经安装了 Wazuh 服务器并连接并激活了代理。

在这个演示中,我们使用 Rocky Linux 8 作为 Wazuh 服务器。 您可以使用以下教程在 Rocky Linux 8 上设置 Wazuh 服务器。

在 Rocky Linux 8 上安装和设置 Wazuh 服务器

在 Rocky Linux 8 上安装 Wazuh 代理

将 Wazuh Manager 与 VirusTotal 集成

获取VirusTotal API Key

接下来,您需要将 Wazuh 管理器与 VirusTotal 集成。 为此,您需要获取 VirusTotal API 密钥。 API 密钥可以是公开的或私有的。 我们在此设置中使用公共的。

因此,请注册 VirusTotal 社区以获取 API 密钥。

创建帐户并登录 VirusTotal 后,单击右上角的用户名 > API 密钥。

将 Wazuh Manager 与 VirusTotal 集成

要将 Wazuh 管理器与 VirusTotal 集成,您需要将以下配置添加到 /var/ossec/etc/ossec.conf 文件。

<integration>   <name>virustotal</name>   <api_key>API_KEY</api_key>   <group>syscheck</group>   <alert_format>json</alert_format> </integration>

将 API_KEY 替换为您各自的 VirusTotal API 密钥。 比如我的配置是这样的;

  <integration>     <name>virustotal</name>     <api_key>94e298694ac4a58c323839dcb1ef4cfe36b48bd6beb8a5c7c3aee587117865cf</api_key>     <group>syscheck</group>     <alert_format>json</alert_format>   </integration> 

因此,您需要将此配置文件添加到 ossec.conf 文件。

vim /var/ossec/etc/ossec.conf

在我们的演示中,我们将在上面插入配置 . 这样我的配置看起来像;

  <!-- Wazuh VirusTotal Integration -->   <integration>     <name>virustotal</name>     <api_key>94e298694ac4a58c323839dcb1ef4cfe36b48bd6beb8a5c7c3aee587117865cf</api_key>     <group>syscheck</group>     <alert_format>json</alert_format>   </integration>    <!-- Osquery integration -->   <wodle name="osquery">     <disabled>yes</disabled>     <run_daemon>yes</run_daemon>     <log_path>/var/log/osquery/osqueryd.results.log</log_path>     <config_path>/etc/osquery/osquery.conf</config_path>     <add_labels>yes</add_labels>   </wodle> 

更新配置文件后,重启Wazuh manager服务;

systemctl restart wazuh-manager

启用 Wazuh VirusTotal 模块

Wazuh VirusTotal 模块通常默认禁用。 要启用该模块,请导航到 Kibana 网页界面 > Wazuh App > Wazuh 设置 > 模块.

向下滚动到 威胁检测和响应 部分并切换 VirusTotal 按钮以启用它。

启用后,您现在应该可以访问下的 VirusTotal 仪表板 Wazuh > 模块 > 威胁检测和响应 > 病毒总数.

目前,由于我们还没有任何事件,仪表板是空的。

演示 Wazuh 如何监控恶意文件的目录

默认情况下,Wazuh 代理监视代理上定义的许多目录 ossec.conf 文件定义在 <!-- File integrity monitoring --> 部分。

为了有效地证明这一点,我们将在 /等等 目录并查看我们在 Wazuh 仪表板上获得的事件类型。

注意:这是在隔离的临时测试系统上完成的。 不要在您的系统上放置恶意文件!!!! 我们不对恶意文件可能对您的系统造成的影响负责。

正如前面提到的,我们使用的是测试系统,我们已经从 InQuest/malware-samples github 存储库下载了一些示例恶意软件文件到 Wazuh 代理的 /etc 目录;

ls -1 /etc/[0-9]*
/etc/02c51604604a7faae0b82aab08d9e3693525454be210b73e76294b4594762c78 /etc/240387329dee4f03f98a89a2feff9bf30dcba61fcf614cdac24129da54442762 /etc/240387329dee4f03f98a89a2feff9bf30dcba61fcf614cdac24129da54442762.zip

请注意,我们还将 Wazuh 代理 syscheck 扫描频率从 12 小时调整为一分钟,仅用于演示目的。

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

对于 ossec.conf 所做的任何更改,您需要重新启动代理。

在 Wazuh Manager 上验证恶意软件检测事件

将文件放置在 Wazuh 代理系统上后,您应该能够在 Wazuh 管理器仪表板上获取事件。

因此导航 Wazuh > 模块 > 威胁检测和响应 > 病毒总数.

你可以点击 活动 查看相关事件。

您可以单击 VirusTotal 链接以了解有关文件的更多信息。

此外,如果您检查安全事件,您应该能够看到与添加到系统的文件相关的警报。

这就是我们关于使用 Wazuh 和 VirusTotal 检测恶意文件的指南。

进一步阅读

Wazuh – 关于 VirusTotal

使用 ModSecurity 和 ClamAV 拦截恶意文件上传

在 Ubuntu 20.04 上安装和使用 ClamAV