aleenaarzoo/soc-week3-malware-detection-wazuh

GitHub: aleenaarzoo/soc-week3-malware-detection-wazuh

该项目在虚拟化环境中搭建了一套基于 Wazuh SIEM 的恶意软件检测与事件响应流水线,涵盖防火墙、代理扫描、日志聚合、自定义告警及事件响应全流程。

Stars: 0 | Forks: 0

# SOC 第 3 周 — 恶意软件检测与事件响应 **实习:** ITSimplera Solutions — SOC 分析师实习生(蓝队) **任务:** 第 3 周 — 恶意软件检测与事件响应 **工具:** pfSense · Squid Proxy · ClamAV · Syslog-NG · Wazuh SIEM(Manager、Indexer、Dashboard) · Ubuntu · Oracle VirtualBox ## 概述 本项目在虚拟化实验室环境中实现了一个小型的 SOC 监控流水线。pfSense 作为网络防火墙/网关,Squid Proxy 结合 ClamAV 扫描 Web 流量以检测恶意软件,Syslog-NG 将防火墙和代理事件转发到 Wazuh SIEM,而自定义的 Wazuh decoder/rule 对可检测行业标准的 EICAR 测试文件——从而验证完整的检测到告警的流水线。 整个实验室构建并运行在一台 8 GB RAM 的笔记本电脑上,同时运行三个并发虚拟机,这也意味着需要解决几个现实世界中的限制(RAM 不足、agent 注册问题、协议不匹配),这些都在下文中记录了下来。 ## 架构 ``` Windows Host (192.168.56.1) │ ▼ pfSense Firewall (192.168.56.2) ├─ Squid Proxy (LAN, port 3128) │ └─ ClamAV via squidclamav + C-ICAP └─ Syslog-NG ──► forwards logs (UDP/514) │ ▼ Wazuh Server (192.168.56.102) ├─ rsyslog (receives pfSense syslog) ├─ Wazuh Manager (custom decoder + rule) ├─ Wazuh Indexer └─ Wazuh Dashboard (alerts & monitoring) │ ▼ Ubuntu Agent (192.168.56.101) — Wazuh Agent endpoint ``` ## 实验室环境 | 组件 | IP 地址 | 角色 | |---|---|---| | pfSense 防火墙 | 192.168.56.2 | 防火墙、网关、Squid Proxy、ClamAV、Syslog-NG | | Wazuh 服务器 | 192.168.56.102 | Wazuh Manager、Indexer、Dashboard | | Ubuntu Agent | 192.168.56.101 | Wazuh Agent 终端 | | Windows 宿主机 | 192.168.56.1 | 承载所有虚拟机的物理笔记本电脑 | ## 完成的工作 - ✅ 部署并配置 pfSense 作为网络防火墙/网关 - ✅ 安装并配置 Squid Proxy,集成 ClamAV 防病毒功能 - ✅ 在 pfSense 上配置 Syslog-NG,并将其与 Wazuh Manager (rsyslog) 集成 - ✅ 将一个 Ubuntu 终端注册为 Wazuh Agent - ✅ 编写了自定义的 Wazuh decoder 和 rule 以检测 EICAR 测试签名 - ✅ 使用 EICAR 标准防病毒测试文件测试了恶意软件检测 - ✅ 在 Wazuh Dashboard 中验证了告警 - ✅ 分析了收集到的日志,并制定了结构化的事件响应计划 ## 仓库结构 ``` ├── documentation/ │ └── Week3_SOC_Internship_Report.docx # Full write-up: procedure, screenshots, IR plan ├── wazuh-config/ │ ├── local_decoder.xml # Custom EICAR decoder │ └── local_rules.xml # Custom EICAR detection rule ├── screenshots/ │ ├── 01_pfsense_dashboard.png │ ├── 02_squid_general.png │ ├── ... (see documentation for full captioned set) └── README.md ``` ## 关键故障排除(已解决的实际问题) | 问题 | 根本原因 | 解决方案 | |---|---|---| | Wazuh Agent 陷入“Duplicate agent name”循环 | Agent 拥有有效的密钥,但自动注册仍然隐式处于活动状态 | 在 Agent 的 `ossec.conf` 中添加 `no` | | 修复注册问题后,Agent 状态显示“Waiting for server reply” | Agent 配置为 UDP;`wazuh-remoted` 仅监听 TCP | 将 Agent 协议从 `udp` 更改为 `tcp` | | Syslog-ng 目标语法测试失败 | GUI 未自动将对象参数包装在 `{ }` 中 | 将参数写为 `{ udp("192.168.56.102" port(514)); };` | | pfSense 日志未到达 Wazuh Manager | Amazon Linux 2023 Wazuh 主机上未安装 syslog 接收器 | 安装并配置了带有 `imudp` 模块的 `rsyslog` | | `wazuh-manager.service` 启动超时 | 在 8 GB 宿主机上运行 3 个并发虚拟机导致 RAM 不足 | 添加了 2 GB 交换文件,通过停止非必要的虚拟机释放了 RAM,增加了 Manager 虚拟机内存 | 完整的详细信息、截图和完整的事件响应计划请参见 [`documentation/Week3_SOC_Internship_Report.docx`](./documentation/Week3_SOC_Internship_Report.docx)。 ## 作者 **Aleena** — SOC 分析师实习生,ITSimplera Solutions(蓝队)
标签:ClamAV, pfSense, Wazuh, Web 安全测试, 安全运营, 库, 应急响应, 扫描框架