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;
```

保存并退出。
# 配置脚本权限
设置为可执行:
```
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
```

解释:
* `rules_id 87105` 对应于 VirusTotal 恶意文件警报
* 主动响应在 Linux 端点本地执行
* 匹配的文件会被自动移除
重启 Wazuh 代理:
```
sudo systemctl restart wazuh-agent
```
# 使用 EICAR 文件进行测试
创建 EICAR 测试文件:
```
curl https://secure.eicar.org/eicar.com -o /tmp/malware/eicar
```
## 
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
```

* 文件创建检测
* VirusTotal 恶意文件检测
* 主动响应执行
* 文件删除事件
# VirusTotal 警报示例
```
{
"integration": "virustotal",
"virustotal": {
"malicious": 62,
"source": {
"file": "/tmp/malware/eicar.com
}
}
}
```
## 
# 展示的技能
* 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, 响应自动化, 威胁分析, 威胁情报, 安全运维, 安全运营, 安全集成, 应用安全, 开发者工具, 恶意文件检测, 恶意软件移除, 扫描框架, 结构化查询, 网络安全, 自动化侦查工具, 自动化安全, 隐私保护