Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
wafaray — Améliorez votre détection de malwares avec WAF + YARA (WAFARAY) | Kitploit
Outils/GitHubGitHub/alt3kx/wafaray
Outils DéfensifsContournement de WAFSécurité WebAnalyse de MalwareTests d'IntrusionRenseignement sur les MenacesLabs et Pratique
GitHubalt3kx/wafaray

wafaray

Améliorez votre détection de malwares avec WAF + YARA (WAFARAY)

Voir le dépôt
10714il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Améliorez votre détection de malwares avec WAF + YARA (WAFARAY)

wafaray

WAFARAY est un déploiement LAB basé sur Debian 11.3.0 (stable) x64 réalisé et concocté entre deux ingrédients principaux WAF + YARA pour détecter les fichiers malveillants (par exemple, webshells, virus, malwares, binaires) généralement via des fonctions web (téléchargement de fichiers).

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

Objectif

En substance, l'idée principale était d'utiliser WAF + YARA (YARA de droite à gauche = ARAY) pour détecter les fichiers malveillants au niveau du WAF avant que le WAF ne puisse les transmettre au backend, par exemple les fichiers téléchargés via des fonctions web voir : https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

Lorsqu'une page web permet de télécharger des fichiers, la plupart des WAF n'inspectent pas les fichiers avant de les envoyer au backend. Implémenter WAF + YARA pourrait fournir une détection de malwares avant que le WAF ne transmette les fichiers au backend.

Faire de la détection de malwares via WAF ?

Oui, une solution consiste à utiliser ModSecurity + ClamAV, la plupart des pages appellent ClamAV en tant que processus et non en tant que démon, dans ce cas, analyser un fichier peut prendre plus de 50 secondes par fichier. Voir cette ressource : https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

Faire de la détection de malwares via WAF + YARA ?

:-( Quelques indices ici Black Hat Asia 2019 veuillez continuer à lire et voir ci-dessous notre déploiement LAB rapide.

WAFARAY : comment ça marche ?

Fondamentalement, c'est un déploiement rapide (1) avec des règles YARA pré-compilées et prêtes à l'emploi via ModSecurity (WAF) en utilisant une règle personnalisée ; (2) cette règle personnalisée effectuera une inspection et une détection des fichiers qui pourraient contenir du code malveillant, (3) généralement les fonctions web (téléchargement de fichiers) si le fichier est suspect, elles le rejetteront en recevant un code 403 Interdit par ModSecurity.

wafaray

✔️ Le YaraCompile.py compile toutes les règles yara. (Code Python3)
✔️ Le test.conf est un hôte virtuel qui contient les règles de mod security. (Code ModSecurity)
✔️ Les règles ModSecurity appellent le modsec_yara.py afin d'inspecter le fichier qui tente d'être téléchargé. (Code Python3)
✔️ Yara retourne deux options 1 (200 OK) ou 0 (403 Interdit)

Chemins principaux :

  • Règles Yara compilées : /YaraRules/Compiled
  • Règles Yara par défaut : /YaraRules/rules
  • Scripts Yara : /YaraRules/YaraScripts
  • Hôtes virtuels Apache : /etc/apache2/sites-enabled
  • Fichiers temporaires : /temporal

Approche

  • Blueteamers : Application des règles, meilleure alerte, détection de malwares sur les fichiers téléchargés via des fonctions web.
  • Redteamers/pentesters : Portée GreyBox, téléchargement et contournement avec un fichier malveillant, application des règles.
  • Security Officers : Maintien des alertes, chasse aux menaces.
  • SOC : Meilleure surveillance des fichiers malveillants.
  • CERT : Analyse des malwares, détermination des nouveaux IOC.

Construction du laboratoire de détection

La preuve de concept est basée sur un système d'exploitation Debian 11.3.0 (stable) x64, OWASP CRC v3.3.2 et Yara 4.0.5. Vous trouverez le script d'installation automatique ici wafaray_install.sh et un guide d'installation manuelle optionnel ici : manual_instructions.txt. De plus, une page PHP a été créée comme "mock" pour observer l'interaction et la détection de fichiers malveillants à l'aide de WAF + YARA.

Installation (recommandée) avec scripts shell

✔️ Étape 1 : Téléchargez Debian 11.3.0 : https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.3.0-amd64-DVD-1.iso
✔️ Étape 2 : Déployez en utilisant VMware ou VirtualBox
✔️ Étape 3 : Une fois installé, veuillez suivre les instructions ci-dessous :

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

# Test your LAB environment 
alex@waf-labs:~$ firefox localhost:8080/upload.php

wafaray

Règles Yara

Une fois les règles Yara téléchargées et compilées.

C'est similaire au déploiement de ModSecurity, vous devez personnaliser le type de règle que vous souhaitez appliquer. Le journal suivant est un exemple de détection d'un fichier malveillant par le pare-feu applicatif web + Yara, dans ce cas, eicar a été détecté.

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

Test de WAFARAY... voilà...

Arrêter / Démarrer ModSecurity

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

Journaux Apache

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

Démonstrations

⚠️ Soyez prudent lors de vos tests. Les démonstrations suivantes ont été testées sur des machines virtuelles isolées. ⚠️

Démo 1 - EICAR

Un fichier malveillant est téléchargé, et les règles ModSecurity ainsi que Yara refusent le téléchargement du fichier vers le backend si le fichier correspondait à au moins une règle Yara. (Exemple de malware : https://secure.eicar.org/eicar.com.txt) N'EXÉCUTEZ PAS LE FICHIER.

wafaray

Démo 2 - WebShell.php

Pour cette démonstration, nous désactivons la règle 933110 - PHP Inject Attack pour valider les règles Yara. Un fichier malveillant est téléchargé, et les règles ModSecurity ainsi que Yara refusent le téléchargement du fichier vers le backend si le fichier correspond à au moins une règle Yara. (Exemple de WebShell PHP : https://github.com/drag0s/php-webshell) N'EXÉCUTEZ PAS LE FICHIER.

wafaray

Démo 3 - Malware Bazaar (RecordBreaker) Publié : 2022-08-13

Un fichier malveillant est téléchargé, et les règles ModSecurity ainsi que Yara refusent le téléchargement du fichier vers le backend si le fichier correspond à au moins une règle Yara. (Exemple de Malware Bazaar (RecordBreaker) : https://bazaar.abuse.ch/sample/94ffc1624939c5eaa4ed32d19f82c369333b45afbbd9d053fa82fe8f05d91ac2/) N'EXÉCUTEZ PAS LE FICHIER.

wafaray

Sources de règles YARA

Si vous souhaitez télécharger plus de règles yara, vous pouvez consulter les dépôts suivants :

  • 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/ (Créez un compte)

Références

  • 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

Feuille de route jusqu'à la prochaine version

  • Base de données de hachages de malwares (MLDBM). La base de données stocke les MD5 ou SHA1 des fichiers détectés comme suspects.
  • À tester CRS Modsecurity v.3.3.3 nouvelles règles
  • Amélioration des règles ModSecurity pour la détection de malwares avec base de données.
  • Création de listes noire et blanche liées aux MD5 ou SHA1.
  • À tester, exécution en arrière-plan si l'analyse Yara prend plus de 3 secondes.
  • À tester, nouvelles charges utiles, exemple : Powershell obfusqué (WebShells)
  • Remarques pour les environnements en production. (WAF AWS, WAF GCP, ...)

Auteurs

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

Contributeurs

Israel Zeron Medina alias @spk085

Télécharger l’outil