原文:
annas-archive.org/md5/c92177f2e32538b39b48298b6806d6ca
译者:飞龙
附录
我们现在已经进入了附录章节。在这里,我们将介绍几个自定义 Wazuh 规则。Wazuh 已经构建了数千条规则以增强其检测能力。然而,我们将编写一些重要的自定义 Wazuh 规则,以检测 PowerShell、Linux Auditd、Kaspersky 和 Sysmon 相关的警报。本章节涵盖以下主题:
-
自定义 PowerShell 规则
-
自定义 Auditd 规则
-
自定义 Kaspersky Endpoint Security 规则
-
自定义 Sysmon 规则
自定义 PowerShell 规则
为了增强 Wazuh 对 Windows 机器的检测能力,我们需要集成一些自定义 PowerShell Wazuh 规则。每个规则可以根据特定条件、严重性级别和其他可选配置进行创建。在本节中,我们将涵盖以下几种类型的规则:
-
PowerShell 事件信息
-
PowerShell 错误日志
-
PowerShell 警告日志
-
PowerShell 关键日志
PowerShell 事件信息
我们可以创建一个自定义 PowerShell 规则来获取事件信息,如下所示:
<rule id="200101" level="1">
<if_sid>60009</if_sid>
<field name="win.system.providerName">^PowerShell$</field>
<options>no_full_log</options>
<group>windows_powershell,</group>
<description>PowerShell Log Information</description>
</rule>
这里,我们有以下内容:
-
<if_sid>60009</if_sid>
:这表示规则 ID 列表。当列表中的某个规则 ID 与之匹配时,它将触发。规则 ID60009
是一个用于 Windows 信息性事件的预构建 Wazuh 规则。 -
<field name="win.system.providerName">^PowerShell$</field>
:<field>
标签用作触发规则的必要条件。它将检查解码器提取的字段内容是否匹配。在这种情况下,它将检查win.system.providerName
日志字段是否包含PowerShell
关键字。 -
<group>windows_powershell,</group>
:这强制将警报分类到特定组中。在这种情况下,它是windows_powershell
。
PowerShell 错误日志
PowerShell 错误日志通常包含与错误、警告和其他事件相关的信息。为了检测这些 PowerShell 错误日志,我们可以创建自定义 Wazuh 规则,如下所示:
<rule id="200102" level="7">
<if_sid>60011</if_sid>
<field name="win.system.providerName">^Microsoft-Windows-PowerShell$</field>
<mitre>
<id>T1086</id>
</mitre>
<options>no_full_log</options>
<group>windows_powershell,</group>
<description>Powershell Error logs</description>
</rule>
这里,我们有以下内容:
-
<if_sid>60011</if_sid>
:这表示规则 ID 列表。当列表中的某个规则 ID 与之匹配时,它将触发。规则 ID60011
是一个用于 Windows 错误事件的预构建 Wazuh 规则。 -
<field name="win.system.providerName">^Microsoft-Windows-PowerShell$</field>
:<field>
标签用作触发规则的必要条件。它将检查解码器提取的字段内容是否匹配。在这种情况下,它将检查win.system.providerName
日志字段是否包含Microsoft-Windows-PowerShell
关键字。 -
<group>windows_powershell,</group>
:这强制将警报分类到特定组中。在这种情况下,它是windows_powershell
。
PowerShell 警告日志
PowerShell 在脚本执行期间还会生成非关键警报。这对于安全调查很有帮助。为了在 Wazuh 管理器上检测这些警报,我们可以创建自定义 Wazuh 规则,如下所示:
<rule id="200103" level="5">
<if_sid>200101</if_sid>
<field name="win.system.providerName">^Microsoft-Windows-PowerShell$</field>
<field name="win.system.severityValue">^WARNING$</field>
<options>no_full_log</options>
<group>windows_powershell,</group>
<description>Powershell Warning Event</description>
</rule>
这里,我们有以下内容:
-
<field name="win.system.providerName">^Microsoft-Windows-PowerShell$</field>
:<field>
标签用作触发规则的必要条件。它将检查解码器提取的字段内容是否匹配。在这种情况下,它将检查win.system.providerName
日志字段是否包含Microsoft-Windows-PowerShell
关键字。 -
<field name="win.system.severityValue">^WARNING$</field>
: 它将检查win.system.severityValue
日志字段是否包含WARNING
关键字。 -
<group>windows_powershell,</group>
: 这将强制警报被分类到一个特定的组中。在这种情况下,它是windows_powershell
。
PowerShell 关键日志
PowerShell 生成关键警报,当执行过程中出现严重错误时。为了检测此类警报,我们可以创建自定义 Wazuh 规则,如下所示:
<rule id="200103" level="12">
<if_sid>60012</if_sid>
<field name="win.system.providerName">^Microsoft-Windows-PowerShell$</field>
<mitre>
<id>T1086</id>
</mitre>
<options>no_full_log</options>
<group>windows_powershell,</group>
<description>Powershell Critical EventLog</description>
</rule>
这里,我们有如下内容:
-
<field name="win.system.severityValue">^WARNING$</field>
: 它将检查win.system.severityValue
日志字段是否包含WARNING
关键字。 -
<group>windows_powershell,</group>
: 这将强制警报被分类到一个特定的组中。在这种情况下,它是windows_powershell
。
这完成了一些重要的自定义 PowerShell 规则。在下一部分,我们将介绍 Linux Auditd 模块的 Wazuh 规则。
针对 Auditd 的自定义 Wazuh 规则
针对 Auditd 的自定义 Wazuh 规则提供了一种增强 Wazuh 检测 Linux 命令执行能力的定制方法。这也将帮助安全团队检测关键的安全事件,追踪用户活动,并确保合规性。
Auditd 系统调用规则
我们可以创建一个 Wazuh 规则来检测任何系统调用(syscall)事件,如下所示:
<rule id="200200" level="3">
<decoded_as>auditd-syscall</decoded_as>
<description>Auditd: System Calls Event </description>
<group>syscall,</group>
</rule>
这里,我们有如下内容:
<decoded_as>auditd-syscall</decoded_as>
: 这是触发规则的必要条件。只有当事件被特定的decoder
解码时,它才会被触发。在这种情况下,它是auditd-syscall
。
Auditd 路径
Linux Auditd 会为每个路径记录生成一个事件。我们将创建一个 Wazuh 规则来捕获 Auditd 路径消息事件,如下所示:
<rule id="200201" level="3">
<decoded_as>auditd-path</decoded_as>
<description>Auditd: Path Message event.</description>
<group>path,</group>
</rule>
这里,我们有如下内容:
<decoded_as>auditd-syscall</decoded_as>
: 这是触发规则的必要条件。只有当事件被特定的decoder
解码时,它才会被触发。在这种情况下,它是auditd-path
。
检测用户环境中的变化
为了检测用户环境中的任何变化,我们可以创建一个自定义 Wazuh 规则来检测bash_profile
的变化,如下所示:
<rule id="200202" level="12">
<if_sid>200201</if_sid>
<list field="audit.directory.name" lookup="address_match_key">etc/lists/bash_profile</list>
<description> Auditd: Detects change of user environment</description>
<group>path,</group>
</rule>
这里,我们有如下内容:
<list field="audit.directory.name" lookup="address_match_key">etc/lists/bash_profile</list>
:<list>
标签执行 CDB 查找,field
属性用作 CBD 列表中的关键字。在这种情况下,使用 CDB 列表audit.directory.name
,并使用address_match_key
来查找 IP 地址和关键字。
我们已经学习了如何为 Linux Auditd 模块构建自定义的 Wazuh 规则。在下一节中,我们将为卡巴斯基终端安全解决方案构建 Wazuh 规则。
卡巴斯基终端安全的自定义 Wazuh 规则
卡巴斯基终端安全 是一家领先的安全提供商,提供云安全、嵌入式安全、威胁管理和工业安全。为了增强 Wazuh 检测卡巴斯基终端警报的能力,我们需要创建自定义的 Wazuh 规则。在本节中,我们将涵盖以下主题:
-
卡巴斯基的通用规则
-
检测卡巴斯基代理重新启动的规则
-
隔离警报的规则
卡巴斯基的通用规则
卡巴斯基终端安全会生成一些常规警报。要检测这些警报,需要创建以下 Wazuh 规则:
<rule id="200300" level="0">
<if_sid>60009</if_sid>
<field name="win.system.channel">^Kaspersky Event Log$</field>
<options>no_full_log</options>
<description>Kapersky rule for the System channel</description>
</rule>
在这里,我们有以下内容:
<field name="win.system.channel">^Kaspersky Event Log$</field>
:它将检查win.system.channel
日志字段是否包含Kaspersky Event
Log
关键字
用于检测卡巴斯基代理重新启动事件的规则
要检测卡巴斯基代理重新启动的事件,需要创建自定义的 Wazuh 规则,如下所示:
<rule id="200301" level="10">
<if_sid>200300</if_sid>
<field name="win.system.providerName">klnagent</field>
<field name="win.system.eventID">1</field>
<description>Kaspersky Agent Restarted</description>
</rule>
在这里,我们有以下内容:
<field name="win.system.providerName">klnagent</field>
:它将检查win.system.providerName
日志字段是否包含klnagent<field name="win.system.eventID">1</field>
关键字。这表示 Windows 事件日志中的另一个字段。此规则将在eventID
值为1
时触发。在 Windows 事件日志中,eventID
1 通常表示系统启动或日志会话的开始,或者 Windows 时间服务的重新启动。
隔离警报的规则
要检测可疑文件是否已被隔离,我们可以创建自定义的 Wazuh 规则来触发警报,如下所示:
<rule id="200302" level="10">
<if_sid>200300</if_sid>
<field name="win.system.providerName">klnagent</field>
<field name="win.system.message" type="pcre2">(?i)^"Quarantine</field>
<description>Kaspersky Agent - Quarantine Event</description>
</rule>
在这里,我们有以下内容:
<field name="win.system.message" type="pcre2">(?i)^"Quarantine</field>
:它将检查win.system.message
日志字段是否包含Quarantine.<field name="win.system.message" type="pcre2">(?i)^"Quarantine</field>
关键字。这指定 Windows 事件日志中的另一个字段;这次是message
字段。此规则将在消息中包含Quarantine
关键字时触发。这是通过使用称为 Perl Compatible Regular Expressions(PCRE2)的正则表达式库完成的。
我们已经学习了如何构建自定义的 Wazuh 规则来检测卡巴斯基终端安全事件。在下一节中,我们将构建用于检测 Sysmon 事件的自定义规则。
Sysmon 的自定义 Wazuh 规则
Sysmon – 一款 Windows Sysinternals 工具 – 提供了系统相关活动的深入视图。Sysmon 帮助我们检测广泛的活动,如进程创建、文件创建与修改、注册表更改、驱动加载、DLL 加载、命名管道创建、进程访问和 DNS 查询日志记录。为了扩展 Wazuh 的检测能力,我们需要构建一个自定义 Wazuh 规则来生成警报。总共有 30 个 Sysmon 事件,如微软官网所述(learn.microsoft.com/en-us/sysinternals/downloads/sysmon
)。不过,我们将涵盖与一些特定 MITRE ATT&CK 技术关联的最重要的 Sysmon 事件。这些规则参考了 SOCFortress 官方 GitHub 账户 – 一个基于 SaaS 的网络安全平台。你也可以参考以下链接,查看所有与 MITRE 技术关联的 Wazuh 规则列表:github.com/socfortress/Wazuh-Rules/tree/main/Windows_Sysmon
。在本节中,我们将介绍一些重要的 Sysmon 事件,如下所示:
-
Sysmon 事件 1:进程创建
-
Sysmon 事件 2:进程更改了文件创建时间
-
Sysmon 事件 3:网络连接
-
Sysmon 事件 7:加载的映像
-
Sysmon 事件 10:进程访问
-
Sysmon 事件 11:文件创建
-
Sysmon 事件 12:注册表事件(对象创建与删除)
-
Sysmon 事件 13:注册表事件(值设置)
-
Sysmon 事件 14:注册表事件(键和值重命名)
-
Sysmon 事件 15:文件创建 StreamHash
-
Sysmon 事件 17:管道创建
-
Sysmon 事件 18:管道事件
-
Sysmon 事件 22:DNS 请求
Sysmon 事件 1:进程创建
Wazuh 规则用于检测 进程创建 事件,帮助安全团队监控可疑的未经授权的进程执行,其写法如下:
<rule id="200401" level="3">
<if_sid>61603</if_sid>
<description>Sysmon - Event 1: Process creation $(win.eventdata.description)</description>
<mitre>
<id>T1546</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event1,windows_sysmon_event1,</group>
</rule>
在这里,我们有以下内容:
<if_sid>61603</if_sid>
:<if_sid>
标签作为触发规则的前提条件。在这种情况下,规则200401
仅在父规则61603
匹配时触发。规则 ID61603
已在 Wazuh 管理器中的文件0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 2:进程更改了文件创建时间
Sysmon 模块的文件创建事件检测潜在感染的文件或意外的文件更改,提供有关基于文件的恶意软件威胁的见解。Sysmon 事件 2 的自定义 Wazuh 规则可以如下创建:
<rule id="200402" level="3">
<if_sid>61604</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1099,technique_name=Timestomp$</field>
<description>Sysmon - Event 2: A process changed a file creation time by $(win.eventdata.image)</description>
<mitre>
<id>T1099</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event2,</group>
</rule>
</group>
在这里,我们有以下内容:
<if_sid>61604</if_sid>
:<if_sid>
标签作为触发规则的前提条件。在这种情况下,规则200402
仅在父规则61604
匹配时触发。规则 ID61604
已在 Wazuh 管理器中的文件0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 3:网络连接
Sysmon 事件 3 在检测到任何异常或未经授权的网络连接时生成。 要检测此类网络连接,我们可以创建一个自定义的 Wazuh 规则,如下所示:
<rule id="200403" level="3">
<if_sid>61605</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1021,technique_name=Remote Services$</field>
<description>Sysmon - Event 3: Network connection by $(win.eventdata.image)</description>
<mitre>
<id>T1021</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event3,</group>
</rule>
在这里,我们有以下内容:
<if_sid>61605</if_sid>
:<if_sid>
标签用作触发规则的先决条件。 在本例中,仅当父规则61605
匹配时,规则200403
才会被触发。 规则 ID61605
已经在 Wazuh 管理器中的文件名0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 7:图像加载
当恶意代码注入到正常进程中时,将生成图像加载事件。 Wazuh 规则用于检测此类事件如下:
<rule id="200404" level="3">
<if_sid>61609</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1059.001,technique_name=PowerShell$</field>
<description>Sysmon - Event 7: Image loaded by $(win.eventdata.image)</description>
<mitre>
<id>T1059</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event7,</group>
</rule>
在这里,我们有以下内容:
<if_sid>61609</if_sid>
:<if_sid>
标签用作触发规则的先决条件。 在本例中,仅当父规则61609
匹配时,规则200404
才会被触发。 规则 ID61609
已经在 Wazuh 管理器中的文件名0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 10:进程访问
进程访问事件帮助安全团队检测可疑活动,如进程内存修改或注入,通常与高级攻击链相关。 要可视化此类事件,需要创建以下 Wazuh 规则:
<rule id="200405" level="3">
<if_sid>61612</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1003,technique_name=Credential Dumping$</field>
<description>Sysmon - Event 10: ProcessAccess by $(win.eventdata.sourceimage)</description>
<mitre>
<id>T1003</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_10,</group>
</rule>
在这里,我们有以下内容:
<if_sid>61612</if_sid>
:<if_sid>
标签用作触发规则的先决条件。 在本例中,仅当父规则61612
匹配时,规则200405
才会被触发。 规则 ID61612
已经在 Wazuh 管理器中的文件名0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 11:文件创建
文件创建事件为文件创建监控提供了冗余,并帮助提供了面向基于文件的恶意软件威胁的最大覆盖范围。 可以创建一个 Wazuh 规则来检测此类事件,如下所示:
<rule id="200406" level="3">
<if_sid>61613</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1546.011,technique_name=Application Shimming$</field>
<description>Sysmon - Event 11: FileCreate by $(win.eventdata.image)</description>
<mitre>
<id>T1546</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_11,</group>
</rule>
在这里,我们有以下内容:
<if_sid>61613</if_sid>
:<if_sid>
标签用作触发规则的先决条件。 在本例中,仅当父规则61613
匹配时,规则200406
才会被触发。 规则 ID61609
已经在 Wazuh 管理器中的文件名0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 12:注册表事件(对象创建和删除)
Sysmon 事件 12 在创建新的注册表键或子键或删除现有键时捕获日志。 这对于检测未经授权的注册表更改非常有用,这可能表明存在无文件恶意软件。 可以创建一个 Wazuh 规则来检测此类事件,如下所示:
<rule id="200407" level="3">
<if_sid>61614</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1546.011,technique_name=Application Shimming$</field>
<description>Sysmon - Event 12: RegistryEvent (Object create and delete) by $(win.eventdata.image)</description>
<mitre>
<id>T1546</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_12,</group>
</rule>
在这里,我们有以下内容
<if_sid>61614</if_sid>
:<if_sid>
标签用作触发规则的先决条件。 在本例中,仅当父规则61614
匹配时,规则200407
才会被触发。 规则 ID61614
已经在 Wazuh 管理器中的文件名0595-win-sysmon_rules.xml
下创建。
Sysmon 事件 13:注册表事件(值设置)
Sysmon 事件 13 在设置新值或修改现有值时触发,发生在注册表键内。这一事件对于检测与恶意软件持久性或权限升级技术相关的变化至关重要。可以创建 Wazuh 规则来检测此类事件,如下所示:
<rule id="200408" level="3">
<if_sid>61615</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1546.011,technique_name=Application Shimming$</field>
<description>Sysmon - Event 13: RegistryEvent (Value Set) by $(win.eventdata.image)</description>
<mitre>
<id>T1546</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_13,</group>
</rule>
这里,我们有以下内容:
-
<if_sid>61615</if_sid>
:<if_sid>
标签用于触发规则的必要条件。在这种情况下,规则200408
只有在父规则61615
匹配时才会触发。规则 ID61615
已在 Wazuh 管理器中创建,文件名为0595-win-sysmon_rules.xml
。 -
<field name="win.eventdata.RuleName">^technique_id=T1546.011,technique_name=Application Shimming$</field>
:<field>
标签用于触发规则的必要条件。它将检查由解码器提取的字段内容是否匹配。在这种情况下,它将检查win.eventdata.RuleName
日志字段是否包含technique_id=T1546.011,technique_name=Application Shimming
l
关键字。
Sysmon 事件 14:注册表事件(键和值重命名)
Sysmon 事件 14 在注册表键或值重命名时触发。这些技术可以被高级攻击者用来逃避反恶意软件检测或破坏系统。可以创建 Wazuh 规则来检测此类事件,如此处所写:
<rule id="200409" level="3">
<if_sid>61616</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1546.011,technique_name=Application Shimming$</field>
<description>Sysmon - Event 14: RegistryEvent (Key and Value Rename) by $(win.eventdata.image)</description>
<mitre>
<id>T1546</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_14,</group>
</rule>
这里,我们有以下内容:
-
<if_sid>61616</if_sid>
:<if_sid>
标签用于触发规则的必要条件。在这种情况下,规则200409
只有在父规则61615
匹配时才会触发。规则 ID61615
已在 Wazuh 管理器中创建,文件名为0595-win-sysmon_rules.xml
。 -
<field name="win.eventdata.RuleName">^technique_id=T1546.011,technique_name=Application Shimming$</field>
:<field>
标签用于触发规则的必要条件。它将检查由解码器提取的字段内容是否匹配。在这种情况下,它将检查win.eventdata.RuleName
日志字段是否包含technique_id=T1546.011,technique_name=Application Shimming
l
关键字。
Sysmon 事件 15:文件创建 StreamHash
Sysmon 事件 15 捕获带有文件哈希的文件创建活动。要创建 Wazuh 规则以检测此类事件,我们可以创建一个自定义规则,如下所示:
<rule id="200410" level="3">
<if_sid>61617</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1089,technique_name=Drive-by Compromise$</field>
<description>Sysmon - Event 15: FileCreateStreamHash by $(win.eventdata.image)</description>
<mitre>
<id>T1089</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_15,</group>
</rule>
这里,我们有以下内容:
-
<if_sid>61617</if_sid>
:<if_sid>
标签用于触发规则的必要条件。在这种情况下,规则200410
只有在父规则61617
匹配时才会触发。规则 ID61617
已在 Wazuh 管理器中创建,文件名为0595-win-sysmon_rules.xml
。 -
<field name="win.eventdata.RuleName">^technique_id=T1089,technique_name=Drive-by Compromise$</field>
:<field>
标签用于触发规则的必要条件。它将检查由解码器提取的字段内容是否匹配。在这种情况下,它将检查win.eventdata.RuleName
日志字段是否包含technique_id=T1089,technique_name=Drive-by Compromise
l
关键字。
Sysmon 事件 17:管道创建
Sysmon 事件 17 记录命名管道的创建,这允许在系统中进行进程间通信。这有助于识别与设置命名管道相关的可疑活动。可以创建自定义 Wazuh 规则来检测此类事件,如下所示:
<rule id="200411" level="3">
<if_sid>61646</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1021.002,technique_name=SMB/Windows Admin Shares$</field>
<description>Sysmon - Event 17: PipeEvent (Pipe Created) by $(win.eventdata.image)</description>
<mitre>
<id>T1021</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_17,</group>
</rule>
这里,我们有以下内容:
-
<if_sid>61646</if_sid>
:<if_sid>
标签作为触发规则的必要条件。在这种情况下,只有当父规则61646
匹配时,规则200411
才会被触发。规则 ID61646
已在 Wazuh 管理器中创建,文件名为0595-win-sysmon_rules.xml
。 -
<field name="win.eventdata.RuleName">^technique_id=T1021.002,technique_name=SMB/Windows Admin Shares$</field>
:<field>
标签作为触发规则的必要条件。它将检查解码器提取的字段内容是否匹配。在这种情况下,它将检查win.eventdata.RuleName
日志字段是否包含"technique_id=T1021.002,technique_name=SMB/Windows Admin
Shares
关键字。
Sysmon 事件 18:管道事件
Sysmon 事件 18 捕获有关管道的额外信息,例如打开、关闭或读取命名管道,有助于检测系统中的异常行为。可以创建 Wazuh 规则来检测此类事件,如下所示:
<rule id="200412" level="3">
<if_sid>61647</if_sid>
<field name="win.eventdata.RuleName">^technique_id=T1021.002,technique_name=SMB/Windows Admin Shares$</field>
<description>Sysmon - Event 18: PipeEvent (Pipe Connected) by $(win.eventdata.image)</description>
<mitre>
<id>T1021</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_18,</group>
</rule>
这里,我们有以下内容
-
<if_sid>61647</if_sid>
:<if_sid>
标签作为触发规则的必要条件。在这种情况下,只有当父规则61647
匹配时,规则200412
才会被触发。规则 ID61646
已在 Wazuh 管理器中创建,文件名为0595-win-sysmon_rules.xml
。 -
<field name="win.eventdata.RuleName">^technique_id=T1021.002,technique_name=SMB/Windows Admin Shares$</field>
:<field>
标签作为触发规则的必要条件。它将检查解码器提取的字段内容是否匹配。在这种情况下,它将检查win.eventdata.RuleName
日志字段是否包含technique_id=T1021.002,technique_name=SMB/Windows Admin
Shares
关键字。
Sysmon 事件 22:DNS 请求
Sysmon 事件 22 记录由机器上的进程发起的 DNS 请求。这有助于我们监控可能指向恶意服务器或指挥控制中心的请求。可以创建 Wazuh 规则来检测此类 DNS 请求,如下所示:
<rule id="200413" level="3">
<if_sid>61644</if_sid>
<description>Sysmon - Event 22: DNS Request by $(win.eventdata.image)</description>
<mitre>
<id>T1071</id>
</mitre>
<options>no_full_log</options>
<group>sysmon_event_22,</group>
</rule>
这里,我们有以下内容:
<if_sid>61644</if_sid>
:<if_sid>
标签作为触发规则的必要条件。在这种情况下,只有当父规则61644
匹配时,规则200412
才会被触发。规则 ID61644
已在 Wazuh 管理器中创建,文件名为0595-win-sysmon_rules.xml
。
我们已经学习了如何为 Wazuh 创建自定义 Sysmon 规则。我们可以在每个 Sysmon 事件类别下创建多个粒度化的规则。要查看所有 Wazuh 自定义 Sysmon 规则的列表,您可以访问官方的 SOCFortress GitHub 仓库:github.com/socfortress/Wazuh-Rules/tree/main/Windows_Sysmon
。
总结
在本章中,我们介绍了一些重要的自定义 Wazuh 规则,涵盖了不同类型的事件,如 PowerShell 事件、Linux Auditd 事件、卡巴斯基端点保护事件和 Sysmon 事件。在下一章中,我们将介绍与 Wazuh 平台相关的一些重要术语。
第八章:词汇表
本章包含了一些与 Wazuh 平台及其相关技术的核心术语词汇表。本章作为学习 Wazuh 技术领域基础知识的全面指南,无论你是经验丰富的安全专家,还是安全领域的新手,都能从中获得 Wazuh 功能及相关概念的有用总结。
词汇表按字母顺序排列。
A
-
主动响应:主动响应是 Wazuh 的一个模块,它根据特定的触发条件自动执行响应操作。这有助于安全专业人员迅速有效地管理安全事件。一些可执行的操作包括防火墙丢弃或阻止、账户封锁、删除恶意文件、阻止可疑网络连接和隔离感染的端点。欲了解更多信息,请查看以下链接:
-
Wazuh 官方文档关于主动响应:
documentation.wazuh.com/current/user-manual/capabilities/active-response/index.html
-
配置恶意文件的主动响应:
wazuh.com/blog/detecting-and-responding-to-malicious-files/
-
将 Suricata 与 Wazuh 集成以响应网络攻击:
wazuh.com/blog/responding-to-network-attacks-with-suricata-and-wazuh-xdr/
-
-
AWS 实例:AWS 实例是运行基于 AWS 平台的云应用程序的虚拟机。云基础设施使你能够在不购买计算机或服务器的情况下进行各种操作。AWS 实例有多种类型,如通用型、计算优化型、内存优化型和存储优化型。欲了解更多信息,请访问以下网站:
-
Amazon EC2 实例 – AWS 文档:
docs.aws.amazon.com/AWSEC2/latest/UserGuide/Instances.html
-
AWS EC2 实例类型 – AWS:
aws.amazon.com/ec2/instance-types/
-
B
-
暴力破解攻击:暴力破解攻击是一种黑客技术,通过试错的方式来破解密码、登录凭证和加密密钥。这是一种直接但有效的策略,用于获取对用户账户、公司网络和系统的未经授权的访问。在找到正确的登录信息之前,黑客会尝试多种用户名和密码,通常会在一台机器上测试大量的组合。欲了解更多信息,请查看以下链接:
C
-
CDB 列表: CDB(常量数据库)列表是 Wazuh 中的文本文件,可以存储用户列表、文件哈希、IP 地址和域名。你还可以在其中存储其他信息,如网络端口。你可以使用 CDB 列表创建“白名单”或“黑名单”来列出用户、文件、IP 地址或域名。通过检查它们的签名是否在 CDB 列表中,还可以用来查找恶意文件。欲了解更多信息,请访问以下网站:
-
ClamAV: ClamAV 是一款开源的防病毒软件,可以查找并清除恶意软件、病毒以及其他对系统和数据库有害的网络活动。它兼容 Windows、Linux 和 Mac 设备。欲了解更多信息,请访问以下网站:
-
ClamAV – 官方 文档:
docs.clamav.net/
-
Wazuh 上的 ClamAV 日志收集:
documentation.wazuh.com/current/user-manual/capabilities/malware-detection/clam-av-logs-collection.html
-
-
命令监控: 命令监控允许你监控多个事项,如磁盘空间使用情况、平均负载、网络监听器变化和正在运行的进程。命令监控适用于安装了 Wazuh 代理的所有终端。欲了解更多信息,请访问以下网站:
-
Wazuh – 命令 监控:
documentation.wazuh.com/current/user-manual/capabilities/command-monitoring/index.html
-
使用 Auditd 和 Wazuh 监控 Linux 上的 root 操作:
wazuh.com/blog/monitoring-root-actions-on-linux-using-auditd-and-wazuh/
-
-
合规性(监管): 合规性(即安全合规性)是企业用来确保其遵循安全规则、标准和框架的过程。安全合规性的目的是遵守法律、政府规则、商业最佳实践以及书面协议。一些流行的安全合规性如下:
-
支付卡行业数据安全标准 (PCI DSS)
-
健康保险流通与问责法案 (HIPAA)
-
联邦信息安全管理 法案 (FISMA)
-
萨班斯-奥克斯利 法案 (SOX)
-
欧盟的 通用数据保护 条例 (GDPR)
欲了解更多信息,请查看以下链接:
-
什么是 PCI DSS 合规性?:
www.imperva.com/learn/data-security/pci-dss-certification/
-
使用 Wazuh 实现 GDPR 合规性:
documentation.wazuh.com/current/compliance/gdpr/index.html
-
-
容器: 容器将软件与其不同的环境(例如开发和预发布环境)分开。它们还帮助使用相同基础设施但不同软件的团队更顺畅地协作。容器镜像是一个轻量级、独立的软件单元,可以在应用程序上运行。它包含了程序运行所需的所有代码、运行时、系统工具、系统库和设置。欲了解更多信息,请查看以下链接:
D
-
Docker: Docker 是一个免费的工具,用于创建应用、分发应用和运行应用。Docker 帮助你将应用与基础设施分开,这加速了软件交付。你可以像运行应用一样使用 Docker 管理基础设施。欲了解更多信息,请查看以下链接:
-
Docker 官方 文档:
docs.docker.com/
-
在 Wazuh 上监控 Docker 事件:
documentation.wazuh.com/current/proof-of-concept-guide/monitoring-docker.html
-
E
-
端点: 端点是网络中的设备或节点,例如计算机或服务器,Wazuh 代理会监控这些端点以确保安全。你可以通过以下链接了解更多关于端点的信息:
F
-
文件完整性监控 (FIM): FIM 是一种 IT 安全程序和实践,检查和验证应用软件、数据库和 操作系统 (OS) 文件是否已被更改或损坏。如果 FIM 发现文件已被更改、更新或损坏,它可以发出警报,以便进行进一步调查,并在必要时进行修复。欲了解更多信息,请查看以下链接:
G
-
GDPR 合规性: 通用数据保护条例(GDPR)是一项关于数字隐私的立法,告知企业如何收集、使用和保存关于生活在欧盟(EU)的个人数据。这项法律还控制着个人数据向欧盟外部的传输。通过赋予用户(通常称为数据主体)对其个人数据收集、共享和使用的控制权,GDPR 合规性增强了隐私权。要了解更多内容,请查看以下链接:
-
什么是 GDPR?:
www.cloudflare.com/learning/privacy/what-is-the-gdpr/
-
使用 Wazuh 进行 GDPR 合规性:
documentation.wazuh.com/current/compliance/gdpr/index.html
-
-
GitHub: GitHub 使用 Git,这是一款开源版本控制软件,允许多人同时对网页进行修改。这使得团队能够在创建和编辑其网站内容时实时协作。要了解更多内容,请查看以下链接:
-
什么是 GitHub 以及如何使用 它?:
www.geeksforgeeks.org/what-is-github-and-how-to-use-it/
-
使用 Wazuh 监控 GitHub:
documentation.wazuh.com/current/cloud-security/github/index.html
-
H
-
HIPAA 合规性: HIPAA 合规性是一套医疗保健组织必须遵循的标准和协议,用以保护敏感患者数据的隐私和安全。如果一个组织处理受保护的健康信息(PHI),它需要确保遵循关于物理、安全网络和过程安全的 HIPAA 规则。要了解更多内容,请查看以下链接:
-
什么是 HIPAA 合规性?:
www.proofpoint.com/us/threat-reference/hipaa-compliance
-
使用 Wazuh 进行 HIPAA 合规性:
documentation.wazuh.com/current/compliance/hipaa/index.html
-
I
-
IDS(入侵检测系统): IDS 是一种网络安全解决方案,用于检查网络数据和设备是否存在已知的恶意活动、异常活动或安全策略违规行为。当有已知或潜在的威胁时,IDS 会检测并向中央安全工具(如安全信息与事件管理(SIEM)系统)发出警报。要了解更多,请查看以下链接:
J
-
JSON(JavaScript 对象表示法): JSON 是一种简单的基于文本的格式,用于发送和存储信息。当数据从计算机发送到网页时,JSON 常常被使用。它是一种数据序列化格式,能够在多个平台、应用程序和系统之间进行一致的数据传输。要了解更多,请查看以下链接:
- 什么是 JSON?:
www.w3schools.com/whatis/whatis_json.asp
- 什么是 JSON?:
K
-
Kubernetes: Kubernetes 是一个便捷、可扩展、开源的平台,旨在简化自动化和声明性配置,从而更好地管理容器化工作负载和服务。在生产环境中,你需要关注运行应用程序的容器,确保它们不会宕机。容器是打包和运行应用程序的好方法。要了解更多,请查看以下链接:
-
什么是 Kubernetes?:
cloud.google.com/learn/what-is-kubernetes
-
如何在 Kubernetes上部署 Wazuh?
documentation.wazuh.com/current/deployment-options/deploying-with-kubernetes/index.html
-
L
-
日志数据收集: 日志数据收集是从不同网络源获取日志并将它们集中在一个地方的过程。收集日志数据有助于安全团队维持合规性、识别并修复威胁,找出应用程序中的故障以及其他安全问题。
-
要了解更多,请查看以下链接:
M
-
恶意软件 IOC(妥协指标): 这是展示攻击已在组织的网络或终端执行的取证数据。IOC 可以是 IP 地址、域名、恶意软件文件的哈希值等。IOC 还可以包括文件的元数据,如作者、创建日期和文件版本。欲了解更多信息,请查看以下链接:
-
MITRE ATT&CK: MITRE ATT&CK(MITRE 对抗性战术、技术与常识)是一个帮助组织评估其安全准备度并定位防御漏洞的框架。MITRE ATT&CK 框架提供了对对手技术和战术的详尽分类,特点是其高细节水平。该框架建立在对现实世界网络安全威胁的观察基础上。欲了解更多信息,请查看以下链接:
-
什么是 MITRE ATT&CK 框架?:
www.ibm.com/topics/mitre-attack
-
通过 MITRE ATT&CK 框架增强 Wazuh 的检测:
documentation.wazuh.com/current/user-manual/ruleset/mitre.html
-
N
-
NIST 800-53 框架: 国家标准与技术研究院(NIST)800-53 是一项网络安全标准和合规框架。它是一组准则,规定了所有美国联邦信息系统的最低安全控制要求,但不包括对国家安全至关重要的系统。欲了解更多信息,请查看以下链接:
-
什么是 NIST SP 800-53 框架?:
www.forcepoint.com/cyber-edu/nist-sp-800-53
-
Wazuh 与 NIST 800-53 合规性:
documentation.wazuh.com/current/compliance/nist/index.html
-
O
-
OpenSearch: OpenSearch 是一个开源搜索引擎和分析套件,用于日志分析、网站信息搜索和实时应用监控。OpenSearch 是 Elasticsearch 和 Kibana 的一个分支,发布于 2021 年。它采用 Apache 2.0 许可证,并基于 Lucene。OpenSearch 提供了使用关键词、多语言、自然语言和同义词进行搜索的功能。欲了解更多信息,请查看以下链接:
-
OpenSearch 官方 文档:
opensearch.org/docs/latest/
-
Wazuh 和 OpenSearch 集成:
documentation.wazuh.com/current/integrations-guide/opensearch/index.html
-
-
OSSEC:OSSEC 是一个开源的 基于主机的入侵检测系统 (HIDS),与多种操作系统兼容。它是一个可扩展的程序,能够检查日志、确保文件的正确性、监视 Windows 系统、集中执行策略、查找 rootkit、发送实时警报等功能。欲了解更多信息,请查看以下链接:
-
什么是 OSSEC?:
www.ossec.net/ossec-downloads/
-
如何从 OSSEC 迁移到 Wazuh:
wazuh.com/blog/migrating-from-ossec-to-wazuh/
-
-
Osquery:Osquery 是一个用于查询和监控系统的工具,使用类似 SQL 的语法。它支持 Windows、Linux 和 macOS 系统。通过 Osquery,你可以查询成千上万的数据点,并接收结构化的数据返回。由于它可以以机器可读格式(如 JSON)返回数据,因此非常适合与现有的安全或监控工具和脚本进行集成。欲了解更多信息,请查看以下链接:
-
什么是 Osquery?:
www.uptycs.com/blog/osquery-what-it-is-how-it-works-and-how-to-use-it
-
使用 Osquery 和 Wazuh 进行威胁狩猎:
documentation.wazuh.com/current/getting-started/use-cases/threat-hunting.html
-
P
-
PCI DSS 合规性:PCI DSS (支付卡行业数据安全标准) 合规性是一套要求,描述了组织如何存储、处理或传输信用卡信息,以实现安全环境。这是一个国际安全标准,有助于防止欺诈和数据泄露,同时为消费者提供基本的保护标准。PCI DSS 合规性并非一次性的活动;它是一个持续的过程,涉及评估处理持卡人数据的基础设施、分析系统漏洞,并修复可利用的漏洞以确保网络安全。
-
欲了解更多信息,请查看以下链接:
-
什么是 PCI DSS 合规性?:
www.techtarget.com/searchsecurity/definition/PCI-DSS-Payment-Card-Industry-Data-Security-Standard
-
使用 Wazuh 实现 PCI DSS 合规性:
documentation.wazuh.com/current/compliance/pci-dss/index.html
-
-
PowerShell: 基于.NET,PowerShell 是一个基于任务的命令行外壳和脚本语言,可以为你节省大量时间和精力,同时还能帮助你提高 IT 基础设施的效率。要了解更多内容,请查看以下链接:
-
什么是 PowerShell?:
learn.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7.4
-
如何使用 Wazuh 监控 Sysmon 事件:
wazuh.com/blog/using-wazuh-to-monitor-sysmon-events/
-
R
-
Rootkit: Rootkit 是一种允许黑客未经授权访问网络或计算机并隐藏其存在的软件类型。Rootkit 可能很难被发现,并且能够长时间隐藏。要了解更多内容,请查看以下链接:
S
-
SCA 策略: 在 Wazuh 平台版本 3.9.0 中,添加了 SCA 模块。该模块提供了应用于加固系统的独特测试。Wazuh 支持的所有平台(Linux、macOS、Windows、Solaris、AIX 和 HP-UX)都可以运行该模块。SCA 工具提供了一种方法来读取和运行以 YAML 格式编写的配置检查。此外,预先设置策略使得遵循如 HIPAA 或 PCI DSS 等规则,以及CIS(互联网安全中心)等准则变得更加容易。要了解更多内容,请查看以下链接:
-
SSH(安全外壳协议): SSH 协议是一种通过不安全的网络安全地发送远程命令到计算机的协议。SSH 使用加密技术来加密并验证设备连接。要了解更多内容,请查看以下链接:
-
Syslog: Syslog 用于发送信息性、分析性和调试消息,以及一般的通知、分析和调试消息。你可以使用它来跟踪各种事件,例如系统关闭、网络连接不稳定、系统重启或端口状态变化等。要了解更多内容,请查看以下链接:
-
Syslog 是如何 工作的?:
www.solarwinds.com/resources/it-glossary/syslog
-
在 Wazuh 服务器上配置 syslog:
documentation.wazuh.com/current/user-manual/capabilities/log-data-collection/syslog.html
-
-
系统调用:系统调用是操作系统软件在计算机上运行时,通过程序化方法请求内核提供服务的一种方式。程序可以通过系统调用与操作系统进行通信。当计算机软件向操作系统的内核请求任何服务时,就会触发系统调用。通过应用程序接口(API),系统调用使用户程序能够访问操作系统的服务。欲了解更多信息,请访问以下链接:
-
系统清单:Wazuh 的系统清单模块收集有关被监控终端的数据。该数据包括硬件、操作系统、网络和正在运行的进程等详细信息。欲了解更多信息,请访问以下链接:
T
-
威胁情报:威胁情报是收集、处理和研究的数据,用以了解威胁行为者的动机、攻击对象和攻击方式。威胁情报帮助我们做出更快速、更加智能的基于数据的安全决策。它还改变了威胁行为者的行动方式,从被动应对转变为主动应对,从而增强了我们与威胁行为者斗争的能力。欲了解更多信息,请访问以下链接:
-
什么是网络威胁 情报?:
www.crowdstrike.com/cybersecurity-101/threat-intelligence/
-
使用 Wazuh 构建威胁情报的 IOC 文件:
wazuh.com/blog/building-ioc-files-for-threat-intelligence-with-wazuh-xdr/
-
-
信任服务标准(TSC)合规性:AICPA 的保证服务执行委员会(ASEC)制定了信任服务标准(TSC),该标准用于评估控制目标。这些标准包括关于组织信息和系统的安全性、可用性、处理完整性、隐私性和机密性的措施。这些措施还涉及实体的具体部分,如某个部门、某个流程或实体使用的特定信息类型。欲了解更多,请查看以下链接:
-
使用 Wazuh 进行 TSC 合规性:
documentation.wazuh.com/current/compliance/tsc/index.html
V
-
漏洞:信息系统漏洞是黑客可以利用的弱点或机会,借此未经允许进入计算机系统。漏洞使系统的防御能力变弱,允许黑客发动攻击。欲了解更多,请查看以下链接:
-
漏洞检测模块:Wazuh 漏洞检测模块帮助用户发现操作系统和已安装应用程序中的弱点,这些系统和应用程序会在监控的终端上运行。该模块通过将 Wazuh 与来自 Microsoft、Amazon Linux Advisories Security(ALAS)、Canonical、Debian、Red Hat、Arch Linux 以及国家漏洞数据库(NVD)的外部漏洞源集成,来工作。欲了解更多,请查看以下链接:
-
Windows Defender:Windows Defender 是微软 Windows 内置的防病毒和防恶意软件解决方案。它会扫描计算机中的恶意软件,并检查系统中的任何异常行为。欲了解更多,请查看以下链接:
Y
-
YARA:YARA 是一种帮助恶意软件分析师检测和分类恶意软件样本的工具。YARA 规则是描述某种类型恶意软件或威胁外观的指令。YARA 规则检查文件和网络中的模式、脚本和特征,找出恶意软件的存在。欲了解更多,请查看以下链接:
-
什么是 YARA?:
virustotal.github.io/yara/
-
使用 YARA 检测恶意软件 集成:
documentation.wazuh.com/current/proof-of-concept-guide/detect-malware-yara-integration.html
-