Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
wafaray — Melhore sua detecção de malware com WAF + YARA (WAFARAY) | Kitploit
Ferramentas/GitHubGitHub/alt3kx/wafaray
Ferramentas DefensivasBypass de WAFSegurança WebAnálise de MalwareTestes de PenetraçãoInteligência de AmeaçasLabs e Prática
GitHubalt3kx/wafaray

wafaray

Melhore sua detecção de malware com WAF + YARA (WAFARAY)

Ver Repositório
10714há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Melhore sua detecção de malware com WAF + YARA (WAFARAY)

wafaray

WAFARAY é uma implantação de LAB baseada em Debian 11.3.0 (stable) x64 feita e cozida entre dois ingredientes principais WAF + YARA para detectar arquivos maliciosos (ex.: webshells, vírus, malware, binários) tipicamente através de funções web (upload de arquivos).

made-with-python made-with-bash GitHub Linux

Propósito

Em essência, a ideia principal foi usar WAF + YARA (YARA da direita para a esquerda = ARAY) para detectar arquivos maliciosos no nível do WAF antes que o WAF possa encaminhá-los para o backend, por exemplo, arquivos enviados através de funções web, veja: https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

Quando uma página web permite upload de arquivos, a maioria dos WAFs não inspeciona os arquivos antes de enviá-los ao backend. Implementar WAF + YARA poderia fornecer detecção de malware antes que o WAF encaminhe os arquivos ao backend.

Fazer detecção de malware através do WAF?

Sim, uma solução é usar ModSecurity + Clamav, a maioria das páginas chama o ClamAV como um processo e não como um daemon, neste caso, analisar um arquivo pode levar mais de 50 segundos por arquivo. Veja este recurso: https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

Fazer detecção de malware através do WAF + YARA?

:- ( Algumas pistas aqui Black Hat Asia 2019 por favor continue lendo e veja abaixo nossa rápida implantação de LAB.

WAFARAY: como funciona?

Basicamente, é uma implantação rápida (1) com regras YARA pré-compiladas e prontas para uso via ModSecurity (WAF) usando uma regra personalizada; (2) esta regra personalizada realizará uma inspeção e detecção dos arquivos que possam conter código malicioso, (3) tipicamente funções web (upload de arquivos) se o arquivo for suspeito, irá rejeitá-los recebendo um código 403 Forbidden do ModSecurity.

wafaray

✔️ O YaraCompile.py compila todas as regras yara. (Código Python3)
✔️ O test.conf é um host virtual que contém as regras do mod security. (Código ModSecurity)
✔️ As regras do ModSecurity chamam o modsec_yara.py para inspecionar o arquivo que está sendo enviado. (Código Python3)
✔️ Yara retorna duas opções 1 (200 OK) ou 0 (403 Forbidden)

Principais Caminhos:

  • Regras Yara compiladas: /YaraRules/Compiled
  • Regras Yara padrão: /YaraRules/rules
  • Scripts Yara: /YaraRules/YaraScripts
  • vhosts Apache: /etc/apache2/sites-enabled
  • Arquivos Temporários: /temporal

Abordagem

  • Blueteamers: Aplicação de regras, melhores alertas, detecção de malware em arquivos enviados através de funções web.
  • Redteamers/pentesters: Escopo GreyBox, upload e bypass com um arquivo malicioso, aplicação de regras.
  • Security Officers: Manter alertas, caça a ameaças.
  • SOC: Melhor monitoramento sobre arquivos maliciosos.
  • CERT: Análise de Malware, Determinar novos IOC.

Construindo o Laboratório de Detecção

A Prova de Conceito é baseada no sistema operacional Debian 11.3.0 (stable) x64, OWASP CRC v3.3.2 e Yara 4.0.5, você encontrará o script de instalação automática aqui wafaray_install.sh e um guia de instalação manual opcional pode ser encontrado aqui: manual_instructions.txt além disso, uma página PHP foi criada como "mock" para observar a interação e detecção de arquivos maliciosos usando WAF + YARA.

Instalação (recomendada) com scripts shell

✔️ Passo 1: Baixe o Debian 11.3.0: https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.3.0-amd64-DVD-1.iso
✔️ Passo 2: Implante usando VMware ou VirtualBox
✔️ Passo 3: Uma vez instalado, por favor siga as instruções abaixo:

root@kitploit:~
alex@waf-labs:~$ su root 
root@waf-labs:/home/alex#

# Remember to change YOUR_USER by your username (e.g waf)
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

# Teste seu ambiente de LAB
alex@waf-labs:~$ firefox localhost:8080/upload.php

wafaray

Regras Yara

Uma vez que as Regras Yara foram baixadas e compiladas.

É semelhante a quando você implanta o ModSecurity, você precisa personalizar que tipo de regra precisa aplicar. O seguinte log é um exemplo de quando o Web Application Firewall + Yara detectou um arquivo malicioso, neste caso, o eicar foi detectado.

root@kitploit:~
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"]

Testando WAFARAY... voilà...

Parar / Iniciar ModSecurity

root@kitploit:~
$ sudo service apache2 stop
$ sudo service apache2 start

Logs do Apache

root@kitploit:~
$ cd /var/log
$ sudo tail -f apache2/test_access.log apache2/test_audit.log apache2/test_error.log

Demonstrações

⚠️ Tenha cuidado com seu teste. As demonstrações seguintes foram testadas em máquinas virtuais isoladas. ⚠️

Demonstração 1 - EICAR

Um arquivo malicioso é enviado, e as regras do ModSecurity mais Yara negaram o upload do arquivo para o backend se o arquivo corresponder a pelo menos uma Regra Yara. (Exemplo de Malware: https://secure.eicar.org/eicar.com.txt) NÃO EXECUTE O ARQUIVO.

wafaray

Demonstração 2 - WebShell.php

Para esta demonstração, desabilitamos a regra 933110 - PHP Inject Attack para validar as Regras Yara. Um arquivo malicioso é enviado, e as regras do ModSecurity mais Yara negaram o upload do arquivo para o backend se o arquivo corresponder a pelo menos uma Regra Yara. (Exemplo de WebShell PHP: https://github.com/drag0s/php-webshell) NÃO EXECUTE O ARQUIVO.

wafaray

Demonstração 3 - Malware Bazaar (RecordBreaker) Publicado: 2022-08-13

Um arquivo malicioso é enviado, e as regras do ModSecurity mais Yara negaram o upload do arquivo para o backend se o arquivo corresponder a pelo menos uma Regra Yara. (Exemplo de Malware Bazaar (RecordBreaker): https://bazaar.abuse.ch/sample/94ffc1624939c5eaa4ed32d19f82c369333b45afbbd9d053fa82fe8f05d91ac2/) NÃO EXECUTE O ARQUIVO.

wafaray

Fontes de Regras YARA

Caso queira baixar mais regras yara, você pode ver os seguintes repositórios:

  • Yara Signatures Compiled - https://github.com/Yara-Rules/rules
  • YARAHub - https://yaraify.abuse.ch/
  • Awesome Yara Rules - https://github.com/InQuest/awesome-yara#rules
  • Advanced Threat Research Yara Rules - https://github.com/advanced-threat-research/Yara-Rules
  • Icewater - https://github.com/SupportIntelligence/Icewater
  • Open Source Yara Rules - https://github.com/mikesxrs/Open-Source-YARA-rules
  • Bartblaza Yara Rules - https://github.com/bartblaze/Yara-rules
  • Cobalstrike - https://github.com/Te-k/cobaltstrike
  • Yara Forensic - https://github.com/Xumeiquer/yara-forensics
  • Loki - https://github.com/Neo23x0/Loki
  • YarGen - https://github.com/Neo23x0/yarGen
  • YarAnalyzer - https://github.com/Neo23x0/yarAnalyzer/
  • Valhalla - https://www.nextron-systems.com/valhalla/, https://valhalla.nextron-systems.com/
  • AlienVault - https://otx.alienvault.com/ (Crie uma conta)

Referências

  • 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

Roadmap até a próxima versão

  • Banco de Dados de Hash de Malware (MLDBM). O banco de dados armazena o MD5 ou SHA1 dos arquivos que foram detectados como suspeitos.
  • A ser testado CRS Modsecurity v.3.3.3 novas regras
  • Melhoria das regras do ModSecurity para detecção de malware com Banco de Dados.
  • A ser criada lista negra e lista branca relacionadas a MD5 ou SHA1.
  • A ser testado, executar em segundo plano se a análise Yara levar mais de 3 segundos.
  • A ser testado, novos payloads, exemplo: Powershell Ofuscado (WebShells)
  • Observações para ambientes reais. (WAF AWS, WAF GCP, ...)

Autores

Alex Hernandez conhecido como (@_alt3kx_)
Jesus Huerta conhecido como @mindhack03d

Contribuidores

Israel Zeron Medina conhecido como @spk085

Baixar ferramenta