gungardaa/wazuh-custom-rules

GitHub: gungardaa/wazuh-custom-rules

这是一个基于 Wazuh 和 Sysmon 的安全监控实现,通过自定义规则检测 PowerShell 执行、暴力破解及防火墙篡改等可疑活动。

Stars: 0 | Forks: 0

# Wazuh 自定义规则实现 ## 描述 在本任务中,我们安装并配置了 **Wazuh** 作为监控和安全检测系统。Wazuh 用于从设备收集日志,并在中心服务器进行分析。通过该系统,可以通过规则检测设备上的可疑活动,并在仪表板上生成警报。 在本实现中使用了两个不同的系统。**Wazuh Manager** 运行在 Linux 虚拟机上,而 **Wazuh Agent** 运行在 Windows 操作系统上。在 Agent 成功连接到 Manager 后,我们创建了一些 **自定义规则** 来检测被认为可疑的特定活动。 本任务中创建的自定义规则主要关注攻击中常见的几种常见活动,例如运行 PowerShell、重复登录失败、关闭防火墙、使用双重扩展名文件以及 USB 上的 AutoRun 活动。 # 架构与部署 在本实现中,系统由两个主要组件组成:**Wazuh Manager** 和 **Wazuh Agent**。 - **宿主 Laptop**:Windows 11(作为 Wazuh Agent) - **虚拟机**:Ubuntu 22.04(作为 Wazuh Manager) Manager 负责接收来自 Agent 的日志,然后使用可用规则分析这些日志。如果某条日志与特定规则匹配,Wazuh 将生成可在仪表板上看到的 **alert(警报)**。 ### 部署架构图 image # 安装 Wazuh Manager Wazuh Manager 安装在 Ubuntu 22.04 虚拟机上,使用 Wazuh 官方安装脚本。 ### 下载安装脚本 ``` curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh ``` ### 运行安装 ``` sudo bash wazuh-install.sh -a ``` 参数 `-a` 用于执行完整安装,即安装以下组件: - Wazuh Manager - Wazuh Indexer - Wazuh Dashboard 安装完成后,可以通过 Wazuh Dashboard IP 访问仪表板: ``` https://192.168.56.129 ``` 然后,输入安装过程完成后获得的用户名和密码。 ### 检查 Manager 状态 ``` sudo systemctl status wazuh-manager ``` image # 在 Windows 上安装 Wazuh Agent Wazuh Agent 安装在 Windows 11 上,使用 PowerShell。 ### 下载并安装 Agent ``` Invoke-WebRequest -Uri https://packages.wazuh.com/4.x/windows/wazuh-agent-4.7.5-1.msi -OutFile ${env.tmp}\wazuh-agent; msiexec.exe /i ${env.tmp}\wazuh-agent /q WAZUH_MANAGER='192.168.56.129' WAZUH_AGENT_NAME='windows-agent' WAZUH_REGISTRATION_SERVER='192.168.56.129' ``` 使用的参数包括: - WAZUH_MANAGER:Wazuh Manager 的 IP 地址 - WAZUH_AGENT_NAME:Agent 名称 - WAZUH_REGISTRATION_SERVER:用于 Agent 注册的服务器 ### 启动 Agent 服务 ``` NET START WazuhSvc ``` ### 检查服务状态 ``` Get-Service WazuhSvc ``` 如果成功,Agent 将出现在 Wazuh 仪表板上。 image # 集成 Sysmon 为了使 Windows 日志更加完整,使用了 Sysmon (System Monitor)。 ### 下载 Sysmon 配置 ``` wget https://wazuh.com/resources/blog/emulation-of-attack-techniques-and-detection-with-wazuh/sysmonconfig.xml -OutFile sysmonconfig.xml ``` ### 安装 Sysmon ``` .\Sysmon64.exe -accepteula -i .\sysmonconfig.xml ``` ### 将 Sysmon 日志添加到 Wazuh 在 `ossec.conf` 文件中添加以下配置: ``` Microsoft-Windows-Sysmon/Operational eventchannel ``` 然后,在配置完成后重启 Agent: ``` Restart-Service WazuhSvc ``` # 自定义规则实现 自定义规则添加在 Wazuh Manager 的 `/var/ossec/etc/rules/local_rules.xml` 文件中。 ``` 92213 powershell.exe PowerShell process executed. windows,powershell_execution, 60122 Multiple failed login attempts detected (possible brute force). windows,authentication_failed, sysmon_event_1 netsh advfirewall set allprofiles state off Possible attempt to disable Windows Firewall using netsh. windows,firewall_disable, sysmon_event_1 \.pdf\.exe|\.docx\.exe|\.jpg\.exe Suspicious process with double extension detected. windows,masquerading, sysmon_event_1 autorun.inf Possible USB AutoRun activity detected. windows,usb_activity, ``` ## 自定义规则说明 ### 1. PowerShell 执行检测 该规则检测在 Windows 系统上运行 PowerShell 的情况。PowerShell 常用于各种攻击技术,例如运行恶意脚本。可以通过在 Windows 上打开 PowerShell 应用程序来测试此规则。 image ### 2. 多次登录失败检测 该规则检测是否在 60 秒内发生 3 次登录失败。这种情况常见于尝试反复猜测密码的暴力破解攻击。可以通过使用错误密码登录 Windows 3 次来测试此规则。 Screenshot 2026-04-07 185618 ### 3. 防火墙禁用检测 该规则检测使用 netsh 命令关闭 Windows Firewall 的尝试。防火墙是保护系统免受未授权网络访问的重要安全组件。可以通过在命令提示符中运行以下命令来测试此规则: ``` netsh advfirewall set allprofiles state off ``` ### 4. 双重扩展名文件检测 该规则检测具有双重扩展名的文件,例如 `file.pdf.exe`、`file.docx.exe`、`file.jpg.exe` 等。此技术可被恶意软件用来伪装恶意文件,使其看起来像普通文件。 ### 5. USB AutoRun 检测 该规则检测 `autorun.inf` 文件的存在,该文件常被 USB 恶意软件用于在连接 USB 设备时自动运行程序。 # 学习资源 - https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.html - https://nihatasadovv.medium.com/writing-custom-rules-in-wazuh-36a018860fce - https://youtu.be/nSOqU1iX5oQ - https://youtu.be/r4q0flqUyIg - https://youtu.be/MNHz7cYG63w
标签:AI合规, AMSI绕过, AutoRun, EDR, OpenCanary, osquery, PowerShell检测, USB监控, Wazuh, Wazuh Agent, Wazuh Manager, 威胁检测, 安全告警, 生成式AI安全, 登录失败, 端点检测与响应, 系统加固, 红队行动, 网络安全, 脆弱性评估, 脱壳工具, 自定义规则, 虚拟机, 运维安全, 防火墙, 隐私保护