Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
wafaray — Mejora tu detección de malware con WAF + YARA (WAFARAY) | Kitploit
Herramientas/GitHubGitHub/alt3kx/wafaray
Herramientas DefensivasEvasión de WAFSeguridad WebAnálisis de MalwarePruebas de PenetraciónInteligencia de AmenazasLabs y Práctica
GitHubalt3kx/wafaray

wafaray

Mejora tu detección de malware con WAF + YARA (WAFARAY)

Ver Repositorio
107146hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Mejora tu detección de malware con WAF + YARA (WAFARAY)

wafaray

WAFARAY es un despliegue de LAB basado en Debian 11.3.0 (estable) x64 hecho y cocinado entre dos ingredientes principales WAF + YARA para detectar archivos maliciosos (p.ej. webshells, virus, malware, binarios) típicamente a través de funciones web (subida de archivos).

made-with-python

Descargar herramienta
made-with-bash
GitHub
Linux

Propósito

En esencia, la idea principal fue usar WAF + YARA (YARA derecha a izquierda = ARAY) para detectar archivos maliciosos a nivel de WAF antes de que el WAF pueda reenviarlos al backend, p.ej. archivos subidos a través de funciones web ver: https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

Cuando una página web permite la subida de archivos, la mayoría de los WAF no inspeccionan los archivos antes de enviarlos al backend. Implementar WAF + YARA podría proporcionar detección de malware antes de que el WAF reenvíe los archivos al backend.

¿Hacer detección de malware a través de WAF?

Sí, una solución es usar ModSecurity + Clamav, la mayoría de las páginas llaman a ClamAV como un proceso y no como un demonio, en este caso, analizar un archivo podría tardar más de 50 segundos por archivo. Ver este recurso: https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

¿Hacer detección de malware a través de WAF + YARA?

:-( Unas pocas pistas aquí Black Hat Asia 2019 por favor continúa leyendo y mira nuestro rápido despliegue de LAB.

WAFARAY: ¿cómo funciona?

Básicamente, es un despliegue rápido (1) con reglas YARA precompiladas y listas para usar a través de ModSecurity (WAF) usando una regla personalizada; (2) esta regla personalizada realizará una inspección y detección de los archivos que puedan contener código malicioso, (3) típicamente funciones web (subida de archivos) si el archivo es sospechoso lo rechazará recibiendo un código 403 Prohibido por ModSecurity.

wafaray

✔️ YaraCompile.py compila todas las reglas yara. (Código Python3)
✔️ test.conf es un host virtual que contiene las reglas de mod security. (Código ModSecurity)
✔️ Las reglas de ModSecurity llaman a modsec_yara.py para inspeccionar el archivo que se intenta subir. (Código Python3)
✔️ Yara devuelve dos opciones 1 (200 OK) o 0 (403 Prohibido)

Rutas principales:

  • Reglas YARA compiladas: /YaraRules/Compiled
  • Reglas YARA por defecto: /YaraRules/rules
  • Scripts YARA: /YaraRules/YaraScripts
  • Hosts virtuales de Apache: /etc/apache2/sites-enabled
  • Archivos temporales: /temporal

Enfoque

  • BlueTeamers: Aplicación de reglas, mejor alertamiento, detección de malware en archivos subidos a través de funciones web.
  • RedTeamers/pentesters: Alcance GreyBox, subir y evadir con un archivo malicioso, aplicación de reglas.
  • Oficiales de Seguridad: Mantener alertas, caza de amenazas.
  • SOC: Mejor monitoreo de archivos maliciosos.
  • CERT: Análisis de malware, determinar nuevos IOC.

Construcción del Laboratorio de Detección

La Prueba de Concepto está basada en el sistema operativo Debian 11.3.0 (estable) x64, OWASP CRC v3.3.2 y Yara 4.0.5, encontrarás el script de instalación automática aquí wafaray_install.sh y una guía de instalación manual opcional aquí: manual_instructions.txt; también se ha creado una página PHP como "simulacro" para observar la interacción y detección de archivos maliciosos usando WAF + YARA.

Instalación (recomendada) con scripts de shell

✔️ Paso 1: Descargar Debian 11.3.0: https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.3.0-amd64-DVD-1.iso
✔️ Paso 2: Desplegar usando VMware o VirtualBox
✔️ Paso 3: Una vez instalado, sigue las instrucciones a continuación:

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

# Recuerda cambiar YOUR_USER por tu nombre de usuario (p.ej. 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

# Prueba tu entorno LAB 
alex@waf-labs:~$ firefox localhost:8080/upload.php

wafaray

Reglas YARA

Una vez descargadas y compiladas las reglas YARA.

Es similar a cuando despliegas ModSecurity, necesitas personalizar qué tipo de regla deseas aplicar. El siguiente log es un ejemplo de cuando el Cortafuegos de Aplicaciones Web + Yara detectó un archivo malicioso, en este caso, se detectó eicar.

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

Probando WAFARAY... voilà...

Detener / Iniciar ModSecurity

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

Logs de Apache

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

Demos

⚠️ Ten cuidado con tu prueba. Las siguientes demos fueron probadas en máquinas virtuales aisladas. ⚠️

Demo 1 - EICAR

Se sube un archivo malicioso, y las reglas de ModSecurity más Yara deniegan la subida del archivo al backend si el archivo coincide con al menos una regla YARA. (Ejemplo de Malware: https://secure.eicar.org/eicar.com.txt) NO EJECUTES EL ARCHIVO.

wafaray

Demo 2 - WebShell.php

Para esta demo, deshabilitamos la regla 933110 - PHP Inject Attack para validar las reglas YARA. Se sube un archivo malicioso, y las reglas de ModSecurity más Yara deniegan la subida del archivo al backend si el archivo coincide con al menos una regla YARA. (Ejemplo de WebShell PHP: https://github.com/drag0s/php-webshell) NO EJECUTES EL ARCHIVO.

wafaray

Demo 3 - Malware Bazaar (RecordBreaker) Publicado: 2022-08-13

Se sube un archivo malicioso, y las reglas de ModSecurity más Yara deniegan la subida del archivo al backend si el archivo coincide con al menos una regla YARA. (Ejemplo de Malware Bazaar (RecordBreaker): https://bazaar.abuse.ch/sample/94ffc1624939c5eaa4ed32d19f82c369333b45afbbd9d053fa82fe8f05d91ac2/) NO EJECUTES EL ARCHIVO.

wafaray

Fuentes de reglas YARA

En caso de que quieras descargar más reglas yara, puedes ver los siguientes repositorios:

  • 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/ (Crea una cuenta)

Referencias

  • 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

Hoja de ruta hasta la próxima versión

  • Base de datos de hash de malware (MLDBM). La base de datos almacena el MD5 o SHA1 de archivos que fueron detectados como sospechosos.
  • Para probar CRS Modsecurity v.3.3.3 nuevas reglas
  • Mejora de las reglas de ModSecurity para detección de malware con base de datos.
  • Crear lista negra y lista blanca relacionadas con MD5 o SHA1.
  • Probar, ejecutar en segundo plano si el análisis de Yara tarda más de 3 segundos.
  • Probar nuevos payloads, ejemplo: Powershell ofuscado (WebShells)
  • Observaciones para entornos en producción. (WAF AWS, WAF GCP, ...)

Autores

Alex Hernandez aka (@_alt3kx_)
Jesus Huerta aka @mindhack03d

Contribuidores

Israel Zeron Medina aka @spk085