MacintoshFa/Integrating-Wazuh-with-Virus-Total-to-automatically-stop-Malware

GitHub: MacintoshFa/Integrating-Wazuh-with-Virus-Total-to-automatically-stop-Malware

该项目通过集成Wazuh SIEM和VirusTotal,实现了Linux环境下恶意文件的自动化检测与移除,以提升事件响应效率。

Stars: 0 | Forks: 0

# Wazuh 主动响应与 VirusTotal 集成项目 ## 概述 本项目演示了如何通过为 Linux 端点实现自动化恶意软件响应,将 Wazuh SIEM 部署扩展到基本检测之外。该实验集成了文件完整性监控、VirusTotal 威胁情报和 Wazuh 主动响应,以实时自动检测并移除恶意文件。 项目使用 EICAR 防病毒测试文件,通过一个自定义 Bash 脚本,模拟了从文件创建到自动化修复的恶意软件检测工作流程。 本项目的目标是获得以下方面的实践经验: * SIEM 管理 * 威胁情报集成 * 自动化事件响应 * Linux 安全监控 * 文件完整性监控 * 恶意软件检测工作流程 * 安全运营自动化 # 实验环境 | 系统 | 角色 | | ------------ | ---------------------------- | | Ubuntu 服务器 | Wazuh 管理器 | | Ubuntu 桌面版 | Linux 端点代理 | | VirusTotal | 威胁情报平台 | 网络类型:桥接适配器 # 硬件要求 | 组件 | 要求 | | ------------ | ------------------ | | CPU | 双核处理器 | | 内存 | 最低 8 GB | | 存储 | 80 GB | | 虚拟化软件 | VirtualBox | | 虚拟化 | 在 BIOS 中已启用 | # 软件要求 * VirtualBox * Ubuntu 服务器 * Ubuntu 桌面版 * Wazuh SIEM * VirusTotal API 密钥 * Bash Shell * Linux 命令行工具 # 项目目标 * 在 Ubuntu 服务器上部署 Wazuh SIEM * 部署 Linux Wazuh 代理 * 配置文件完整性监控 * 将 Wazuh 与 VirusTotal 集成 * 使用主动响应自动化恶意软件修复 * 使用 EICAR 检测恶意文件 * 自动移除已确认的恶意文件 * 通过 Wazuh 仪表盘分析警报 # 安装 Wazuh 服务器 更新 Ubuntu 服务器: ``` sudo apt update && sudo apt upgrade -y ``` 下载 Wazuh 安装程序: ``` curl -sO https://packages.wazuh.com/4.x/wazuh-install.sh ``` 运行安装: ``` sudo bash wazuh-install.sh -a ``` 此操作将安装: * Wazuh 管理器 * Wazuh 仪表盘 * Wazuh 索引器 * Filebeat # 访问 Wazuh 仪表盘 打开浏览器: ``` https://WAZUH_SERVER_IP ``` 使用安装后显示的管理员凭据登录。 # 部署 Linux Wazuh 代理 在 Ubuntu 桌面版上安装 Wazuh 代理: ``` sudo apt install wazuh-agent -y ``` 配置 Wazuh 管理器地址: ``` sudo nano /var/ossec/etc/ossec.conf ``` 添加: ```
WAZUH_SERVER_IP
``` 启用并启动代理: ``` sudo systemctl enable wazuh-agent sudo systemctl start wazuh-agent ``` 验证状态: ``` sudo systemctl status wazuh-agent ``` # 配置文件完整性监控 在 Wazuh 管理器上编辑 Wazuh 文件配置,使所有 Linux 代理自动监控相同的目录以获取文件完整性监控事件。 * 编辑组配置 ``` sudo nano /var/ossec/etc/shared/default/agent.conf ``` 应用更改: ``` /tmp/malware ``` 解释: * `realtime="yes"` 启用即时监控 * `/tmp/malware` 被监控以检测可疑文件活动 重启代理: ``` sudo systemctl restart wazuh-manager ``` # 配置 VirusTotal 集成 ## 创建 VirusTotal API 密钥 1. 在以下网址创建账户: ``` https://www.virustotal.com ``` 2. 生成 API 密钥 # 在 Wazuh 中添加 VirusTotal 集成 在 Wazuh 管理器上: ``` sudo nano /var/ossec/etc/ossec.conf ``` 添加: ``` virustotal YOUR_VIRUSTOTAL_API_KEY syscheck json ``` 重启 Wazuh 管理器: ``` sudo systemctl restart wazuh-manager ``` # 实现主动响应 ## 创建主动响应脚本 这是在 Wazuh 通过 Virus Total 确认恶意文件后自动采取行动的脚本。 在 Linux 端点上: ``` sudo nano /var/ossec/active-response/bin/remove-threat.sh ``` 添加以下 Bash 脚本: ``` #!/bin/bash LOCAL=`dirname $0`; cd $LOCAL cd ../ PWD=`pwd` read INPUT_JSON FILENAME=$(echo $INPUT_JSON | jq -r .parameters.alert.data.virustotal.source.file) COMMAND=$(echo $INPUT_JSON | jq -r .command) LOG_FILE="${PWD}/../logs/active-responses.log" #------------------------ Analyze command -------------------------# if [ ${COMMAND} = "add" ] then # Send control message to execd printf '{"version":1,"origin":{"name":"remove-threat","module":"active-response"},"command":"check_keys", "parameters":{"keys":[]}}\n' read RESPONSE COMMAND2=$(echo $RESPONSE | jq -r .command) if [ ${COMMAND2} != "continue" ] then echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Remove threat active response aborted" >> ${LOG_FILE} exit 0; fi fi # 移除文件 rm -f $FILENAME if [ $? -eq 0 ]; then echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Successfully removed threat" >> ${LOG_FILE} else echo "`date '+%Y/%m/%d %H:%M:%S'` $0: $INPUT_JSON Error removing threat" >> ${LOG_FILE} fi exit 0; ``` ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8d3c263bbe172917.png) 保存并退出。 # 配置脚本权限 设置为可执行: ``` sudo chmod 750 /var/ossec/active-response/bin/remove-threat.sh ``` 设置所有权: ``` sudo chown root:wazuh /var/ossec/active-response/bin/remove-threat.sh ``` # 在 Wazuh 中配置主动响应 编辑代理配置: ``` sudo nano /var/ossec/etc/ossec.conf ``` 添加: ``` remove-threat remove-threat.sh no no remove-threat local 87105 ``` ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6bf157ff6a172923.png) 解释: * `rules_id 87105` 对应于 VirusTotal 恶意文件警报 * 主动响应在 Linux 端点本地执行 * 匹配的文件会被自动移除 重启 Wazuh 代理: ``` sudo systemctl restart wazuh-agent ``` # 使用 EICAR 文件进行测试 创建 EICAR 测试文件: ``` curl https://secure.eicar.org/eicar.com -o /tmp/malware/eicar ``` ## ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/fa1424eeaf172928.png) EICAR 文件是一个无害的防病毒测试文件,被安全产品识别为恶意文件。 # 预期检测工作流程 1. 创建 EICAR 文件 2. Wazuh 文件完整性监控检测到文件 3. 生成文件哈希值 4. 哈希值提交给 VirusTotal 5. VirusTotal 识别出恶意信誉 6. Wazuh 生成警报 7. 主动响应自动执行 8. Bash 脚本删除恶意文件 9. 仪表盘记录响应操作 # 验证文件移除 检查文件是否存在: ``` cd /tmp/malware ``` 预期结果: ``` No such file or directory ``` # 验证主动响应日志 检查日志: ``` sudo cat /var/ossec/logs/active-responses.log ``` 示例输出: ``` Removed malicious file: /tmp/malware ``` # 在 Wazuh 仪表盘中监控警报 导航至: ``` Security Events ``` ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/e1115030fc172933.png) * 文件创建检测 * VirusTotal 恶意文件检测 * 主动响应执行 * 文件删除事件 # VirusTotal 警报示例 ``` { "integration": "virustotal", "virustotal": { "malicious": 62, "source": { "file": "/tmp/malware/eicar.com } } } ``` ## ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/01cfbeb3e4172938.png) # 展示的技能 * Wazuh 管理 * Linux 安全监控 * 文件完整性监控 * 威胁情报集成 * Bash 脚本编写 * 安全自动化 * 恶意软件检测工作流程 * 事件响应自动化 # 未来改进 * 隔离文件而非删除 * 集成 Sysmon 监控 * 添加电子邮件或 Slack 通知 * 部署多个受监控端点 * 与 TheHive 或 Shuffle 集成 * 创建自动化 SOC 工作流程 # 仓库结构 ``` wazuh-active-response-project/ ├── screenshots/ ├── configs/ │ └── ossec.conf ├── scripts/ │ └── remove-threat.sh ├── logs/ ├── README.md └── documentation/ ``` # 简历项目描述 构建了一个网络安全实验室,将 Wazuh SIEM、VirusTotal 威胁情报和 Linux 端点上的主动响应自动化集成。配置了文件完整性监控,并开发了一个 Bash 脚本,使用 EICAR 测试文件自动移除通过 VirusTotal 分析检测到的恶意文件。
标签:Ask搜索, EICAR测试, PB级数据处理, VirusTotal, Wazuh, x64dbg, 响应自动化, 威胁分析, 威胁情报, 安全运维, 安全运营, 安全集成, 应用安全, 开发者工具, 恶意文件检测, 恶意软件移除, 扫描框架, 结构化查询, 网络安全, 自动化侦查工具, 自动化安全, 隐私保护