Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
wafaray — Migliora il rilevamento del malware con WAF + YARA (WAFARAY) | Kitploit
Strumenti/GitHubGitHub/alt3kx/wafaray
Strumenti DifensiviBypass WAFSicurezza WebAnalisi MalwarePenetration TestingThreat IntelligenceLab e Pratica
GitHubalt3kx/wafaray

wafaray

Migliora il rilevamento del malware con WAF + YARA (WAFARAY)

Vedi Repository
107143 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Migliora il rilevamento di malware con WAF + YARA (WAFARAY)

wafaray

WAFARAY è un deployment LAB basato su Debian 11.3.0 (stable) x64 realizzato e cucinato tra due ingredienti principali WAF + YARA per rilevare file dannosi (es. webshell, virus, malware, binari) tipicamente tramite funzioni web (upload di file).

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

Scopo

In sostanza, l'idea principale è stata quella di utilizzare WAF + YARA (YARA da destra a sinistra = ARAY) per rilevare file dannosi a livello WAF prima che il WAF possa inoltrarli al backend, ad esempio file caricati tramite funzioni web vedere: https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload

Quando una pagina web permette il caricamento di file, la maggior parte dei WAF non ispeziona i file prima di inviarli al backend. Implementare WAF + YARA potrebbe fornire il rilevamento di malware prima che il WAF inoltri i file al backend.

Effettuare il rilevamento di malware tramite WAF?

Sì, una soluzione è usare ModSecurity + Clamav, la maggior parte delle pagine chiama ClamAV come processo e non come demone, in questo caso analizzare un file potrebbe richiedere più di 50 secondi per file. Vedi questa risorsa: https://kifarunix.com/intercept-malicious-file-upload-with-modsecurity-and-clamav/

Effettuare il rilevamento di malware tramite WAF + YARA?

:-( Qualche indizio qui Black Hat Asia 2019 per favore continua a leggere e guarda sotto il nostro rapido deployment LAB.

WAFARAY: come funziona?

Fondamentalmente, è un deployment rapido (1) con regole YARA precompilate e pronte all'uso tramite ModSecurity (WAF) usando una regola personalizzata; (2) questa regola personalizzata eseguirà un'ispezione e rilevamento dei file che potrebbero contenere codice dannoso, (3) tipicamente funzioni web (upload di file) se il file è sospetto verranno rifiutati ricevendo un codice 403 Forbidden da ModSecurity.

wafaray

✔️ YaraCompile.py compila tutte le regole yara. (Codice Python3)
✔️ test.conf è un virtual host che contiene le regole mod security. (Codice ModSecurity)
✔️ Le regole ModSecurity chiamano modsec_yara.py per ispezionare il file che si sta cercando di caricare. (Codice Python3)
✔️ Yara restituisce due opzioni 1 (200 OK) o 0 (403 Forbidden)

Percorsi Principali:

  • Regole Yara Compilate: /YaraRules/Compiled
  • Regole Yara Predefinite: /YaraRules/rules
  • Script Yara: /YaraRules/YaraScripts
  • Vhost Apache: /etc/apache2/sites-enabled
  • File Temporanei: /temporal

Approccio

  • Blueteamers: Applicazione delle regole, migliori alert, rilevamento malware sui file caricati tramite funzioni web.
  • Redteamers/pentesters: Ambito GreyBox, upload e bypass con un file dannoso, applicazione delle regole.
  • Security Officers: Mantenere gli alert, threat hunting.
  • SOC: Miglior monitoraggio dei file dannosi.
  • CERT: Analisi malware, determinazione di nuovi IOC.

Costruire il Detection Lab

La Proof of Concept è basata su sistema operativo Debian 11.3.0 (stable) x64, OWASP CRC v3.3.2 e Yara 4.0.5. Troverai lo script di installazione automatica qui wafaray_install.sh e una guida opzionale per l'installazione manuale qui: manual_instructions.txt. È stata creata anche una pagina PHP come "mock" per osservare l'interazione e il rilevamento di file dannosi usando WAF + YARA.

Installazione (raccomandata) con script shell

✔️ Passo 1: Scarica Debian 11.3.0: https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.3.0-amd64-DVD-1.iso
✔️ Passo 2: Deploy usando VMware o VirtualBox
✔️ Passo 3: Una volta installato, segui le istruzioni qui sotto:

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

# Ricordati di cambiare YOUR_USER con il tuo nome utente (es. 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

# Testa il tuo ambiente LAB
alex@waf-labs:~$ firefox localhost:8080/upload.php

wafaray

Regole Yara

Una volta scaricate e compilate le regole Yara.

È simile a quando deployi ModSecurity: devi personalizzare che tipo di regola applicare. Il seguente log è un esempio di quando il Web Application Firewall + Yara ha rilevato un file dannoso, in questo caso è stato rilevato 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"]

Testare WAFARAY... voilà...

Fermare / Avviare ModSecurity

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

Log di Apache

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

Demo

⚠️ Fai attenzione ai tuoi test. Le seguenti demo sono state testate su macchine virtuali isolate. ⚠️

Demo 1 - EICAR

Viene caricato un file dannoso e le regole ModSecurity più Yara negano il caricamento del file al backend se il file corrisponde ad almeno una regola Yara. (Esempio di Malware: https://secure.eicar.org/eicar.com.txt) NON ESECUIRE IL FILE.

wafaray

Demo 2 - WebShell.php

Per questa demo, disabilitiamo la regola 933110 - PHP Inject Attack per convalidare le regole Yara. Viene caricato un file dannoso e le regole ModSecurity più Yara negano il caricamento del file al backend se il file corrisponde ad almeno una regola Yara. (Esempio di WebShell PHP: https://github.com/drag0s/php-webshell) NON ESECUIRE IL FILE.

wafaray

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

Viene caricato un file dannoso e le regole ModSecurity più Yara negano il caricamento del file al backend se il file corrisponde ad almeno una regola Yara. (Esempio di Malware Bazaar (RecordBreaker): https://bazaar.abuse.ch/sample/94ffc1624939c5eaa4ed32d19f82c369333b45afbbd9d053fa82fe8f05d91ac2/) NON ESECUIRE IL FILE.

wafaray

Fonti delle regole YARA

Nel caso tu voglia scaricare più regole yara, puoi vedere i seguenti repository:

  • 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 un account)

Riferimenti

  • 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 fino alla prossima release

  • Database Hash Malware (MLDBM). Il Database memorizza l'MD5 o SHA1 dei file rilevati come sospetti.
  • Da testare CRS Modsecurity v.3.3.3 nuove regole
  • Miglioramento delle regole ModSecurity per il rilevamento malware con Database.
  • Da creare blacklist e whitelist relative a MD5 o SHA1.
  • Da testare, esecuzione in background se l'analisi Yara richiede più di 3 secondi.
  • Da testare, nuovi payload, esempio: Powershell Offuscato (WebShell)
  • Osservazioni per ambienti live. (WAF AWS, WAF GCP, ...)

Autori

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

Collaboratori

Israel Zeron Medina aka @spk085

Scarica lo strumento