如何使用WAFARAY增强你的恶意软件检测能力
字数 945 2025-08-10 19:49:08
WAFARAY恶意软件检测工具使用指南
1. WAFARAY概述
WAFARAY是一款基于Web应用防火墙(WAF)和YARA规则的强大安全工具,主要用于检测通过Web功能(如文件上传)传播的恶意文件,包括:
- Webshell
- 病毒
- 恶意软件
- 恶意代码
实验环境:基于Debian 11.3.0(稳定版)x64实现
2. 工作机制
- 规则预处理:使用自定义规则的ModSecurity(WAF)预编译并准备YARA规则
- 文件检测:使用自定义规则对可能包含恶意代码的文件进行检查
- 防护机制:当上传可疑文件时,ModSecurity会拒绝接收并返回403错误
3. 工具架构
- Yara编译规则:/YaraRules/Compiled
- Yara默认规则:/YaraRules/rules
- Yara脚本:/YaraRules/YaraScripts
- Apache虚拟主机配置:/etc/apache2/sites-enabled
- 临时文件:/temporal
4. 适用角色
| 角色 | 主要用途 |
|---|---|
| 蓝队 | 规则执行、发送警报、检测恶意文件上传 |
| 红队/渗透测试 | 灰盒测试、上传和绕过恶意文件、规则验证 |
| 安全官员 | 持续警报、威胁搜索 |
| SOC | 监控恶意文件 |
| CERT | 恶意软件分析、判断新的IoC |
5. 实验环境部署
5.1 准备工作
- 下载并配置Debian 11.3.0环境
- 使用VMware或VirtualBox部署Debian
5.2 安装步骤
# 切换到root用户
alex@waf-labs:~$ su root
# 修改sudoers文件(替换YOUR_USER为你的用户名)
root@waf-labs:/home/alex# sed -i 's/^$# User privi.*$/\1\nalex ALL=(ALL) NOPASSWD:ALL/g' /etc/sudoers
root@waf-labs:/home/alex# exit
# 更新系统配置
alex@waf-labs:~$ sudo sed -i 's/^$deb cdrom.*$/#\1/g' /etc/apt/sources.list
alex@waf-labs:~$ sudo sed -i 's/^# $deb\-src http.*$/ \1/g' /etc/apt/sources.list
alex@waf-labs:~$ sudo sed -i 's/^# $deb http.*$/ \1/g' /etc/apt/sources.list
alex@waf-labs:~$ echo -ne "\n\ndeb http://deb.debian.org/debian/ bullseye main\ndeb-src http://deb.debian.org/debian/ bullseye main\n" | sudo tee -a /etc/apt/sources.list
# 安装必要软件
alex@waf-labs:~$ sudo apt-get update
alex@waf-labs:~$ sudo apt-get install sudo -y
alex@waf-labs:~$ sudo apt-get install git vim dos2unix net-tools -y
# 克隆仓库并安装
alex@waf-labs:~$ git clone https://github.com/alt3kx/wafaray
alex@waf-labs:~$ cd wafaray
alex@waf-labs:~$ dos2unix wafaray_install.sh
alex@waf-labs:~$ chmod +x wafaray_install.sh
alex@waf-labs:~$ sudo ./wafaray_install.sh >> log_install.log
5.3 测试环境
alex@waf-labs:~$ firefox localhost:8080/upload.php
6. YARA规则使用
6.1 自定义规则
安装完成后,可以自定义需要部署的规则类型。
6.2 检测示例
当检测到恶意文件时,日志会显示类似以下信息:
Message: Access denied with code 403 (phase 2).
File "/temporal/20220812-184146-YvbXKilOKdNkDfySME10ywAAAAA-file-Wx1hQA"
rejected by the approver script "/YaraRules/YaraScripts/modsec_yara.py":
0 SUSPECTED [YaraSignature: eicar][file "/etc/apache2/sites-enabled/test.conf"]
[line "56"] [id "500002"][msg "Suspected File Upload:eicar.com.txt ->
/temporal/20220812-184146-YvbXKilOKdNkDfySME10ywAAAAA-file-Wx1hQA - URI: /upload.php"]
7. 工具管理
7.1 控制ModSecurity
# 停止服务
$ sudo service apache2 stop
# 启动服务
$ sudo service apache2 start
7.2 查看日志
$ cd /var/log
$ sudo tail -f apache2/test_access.log apache2/test_audit.log apache2/test_error.log
8. 许可证
本项目遵循GPL-3.0开源许可证协议。