如何使用WAFARAY增强你的恶意软件检测能力
2023-6-29 23:22:10 Author: www.freebuf.com(查看原文) 阅读量:7 收藏

关于WAFARAY

WAFARAY是一款基于Web应用防火墙和YARA规则的强大安全工具,该工具可以帮助广大研究人员增强自身的恶意软件检测能力。WAFARAY是一个基于Debian 11.3.0(稳定版) x64实现的实验环境,能够基于Web应用防火墙和YARA规则来检测通过Web功能(例如文件上传)感染的恶意文件,例如Webshell、病毒、恶意软件和恶意代码等等。

工作机制

1、通过使用自定义规则的ModSecurity(WAF)预编译并准备使用YARA规则;

2、工具将使用该自定义规则对可能包含恶意代码的文件进行检查和检测;

3、一般来说,如果通过Web功能(例如上传文件)上传了可疑文件,那么ModSecurity将会拒绝接收该文件并返回403错误代码;

工具架构

主路径

Yara编译规则: /YaraRules/Compiled

Yara默认规则: /YaraRules/rules

Yara脚本: /YaraRules/YaraScripts

Apache vhosts: /etc/apache2/sites-enabled

Temporal文件: /temporal

实现方法

Blueteamers:规则执行,发送警报,检测通过Web上传文件功能上传的恶意软件;

Redteamers/pentesters:灰盒范围,上传和绕过恶意文件,规则执行;

Security Officers:持续警报、威胁搜索;

SOC:监控恶意文件;

CERT:恶意软件分析,判断新的IoC;

实验环境部署

项目提供了一个wafaray_install.sh,项目提供的manual_instructions.txt中也包含了手动安装的指引。除此之外,还提供了一个PHP页面来帮助我们于工具交互并使用WAF+YARA来检测恶意文件。

通过Shell脚本安装

首先,我们需要安装并配置好Debian 11.3.0环境:【下载地址】。

接下来,使用VMware或VirtualBox部署Debian。

安装完成之后,请运行下列命令:

[email protected]:~$ su root

[email protected]:/home/alex#

建议修改YOUR_USER为你自己的用户名,例如waf:

[email protected]:/home/alex# sed -i 's/^\(# User privi.*\)/\1\nalex ALL=(ALL) NOPASSWD:ALL/g' /etc/sudoers

[email protected]:/home/alex# exit

[email protected]:~$ sudo sed -i 's/^\(deb cdrom.*\)/#\1/g' /etc/apt/sources.list

[email protected]:~$ sudo sed -i 's/^# \(deb\-src http.*\)/ \1/g' /etc/apt/sources.list

[email protected]:~$ sudo sed -i 's/^# \(deb http.*\)/ \1/g' /etc/apt/sources.list

[email protected]:~$ 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

[email protected]:~$ sudo apt-get update

[email protected]f-labs:~$ sudo apt-get install sudo -y

[email protected]:~$ sudo apt-get install git vim dos2unix net-tools -y

[email protected]:~$ git clone https://github.com/alt3kx/wafaray

[email protected]:~$ cd wafaray

[email protected]:~$ dos2unix wafaray_install.sh

[email protected]:~$ chmod +x wafaray_install.sh

[email protected]:~$ sudo ./wafaray_install.sh >> log_install.log

测试你的实验环境:

[email protected]:~$ firefox localhost:8080/upload.php

工具使用

Yara规则

当Yara规则下载并编译完毕之后,我们还需要自定义需要部署的规则类型。下面的日志中,显示的是当Web应用防火墙+Yara规则检测到恶意文件时的场景:

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"]

测试WAFARAY

终止/运行ModSecurity

$ sudo service apache2 stop

$ sudo service apache2 start

Apache日志

$ cd /var/log

$ sudo tail -f apache2/test_access.log apache2/test_audit.log apache2/test_error.log

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

WAFARAY:【GitHub传送门

参考资料

https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

https://portswigger.net/daily-swig/waf-reloaded-modsecurity-3-1-showcased-at-black-hat-asia

https://yara.readthedocs.io/en/latest/gettingstarted.html

https://yara.readthedocs.io/en/v3.4.0/yarapython.html

https://virustotal.github.io/yara/

https://www.tutorialspoint.com/perl/perl_introduction.htm

https://malware.expert/scan-every-file-clam-antivirus-scanner-modsecurity/

https://xael.org/pages/pyclamd-en.html

https://docs.clamav.net/

https://www.decalage.info/en/python/pyclamd

https://opensource.apple.com/source/clamav/clamav-116.2/clamav.Conf/clamd.conf.auto.html

https://c99.sh/hunting-0days-with-yara-rules/

https://github.com/claroty/arya

https://isc.sans.edu/diary/YARA%27s+Console+Module/28288


文章来源: https://www.freebuf.com/articles/web/370745.html
如有侵权请联系:admin#unsafe.sh