web-threat-mitigation
Laboratorio pratico per rilevare e mitigare le minacce alle applicazioni web utilizzando OWASP ZAP, Burp Suite e ModSecurity WAF (con OWASP CRS). Caso di studio: Spring4Shell (CVE-2022-22965). Setup locale basato su Docker.
Laboratorio di Mitigazione delle Minacce Web – OWASP ZAP, ModSecurity e Sfruttamento di CVE
Questo repository documenta un laboratorio incentrato sulla simulazione, analisi e mitigazione delle minacce comuni alle applicazioni web. Include l'installazione di target vulnerabili, strumenti di scansione, il deployment di un WAF (ModSecurity con OWASP CRS) e lo sfruttamento in tempo reale di CVE-2022-22965 (Spring4Shell).
Obiettivi del Laboratorio
- Distribuire un'applicazione web vulnerabile (WebGoat) utilizzando Docker
- Eseguire scansioni di vulnerabilità con OWASP ZAP e Burp Suite
- Configurare un proxy inverso con Nginx + ModSecurity + OWASP CRS 4.9.0
- Analizzare i risultati prima e dopo l'implementazione del WAF
- Sfruttare Spring4Shell e verificare l'efficacia del WAF
Strumenti Utilizzati
- Docker + Docker Compose
- OWASP ZAP e Burp Suite
- ModSecurity (tramite libnginx-mod-http-modsecurity)
- OWASP Core Rule Set (CRS 4.9.0)
- Kali Linux con Metasploit Framework
- CentOS 9 Stream e Debian 12
Flusso di Lavoro del Laboratorio
- Deployment di WebGoat su CentOS tramite Docker, esposto sulla porta 8080.



- Scansione Iniziale da Kali Linux utilizzando OWASP ZAP:
- Avvisi ad alto rischio: SQL Injection, Spring4Shell
- Medio: Mancanza di CSP, Token CSRF, Parameter Tampering
- Info: Perdite di versione, potenziali XSS, problemi di sessione


- Deployment del Proxy Inverso su Debian 12 utilizzando nginx.

- Configurazione del WAF con OWASP CRS e regole caricate da:
/etc/nginx/coreruleset-4.9.0/crs-setup.conf
/etc/nginx/coreruleset-4.9.0/rules/*.conf
Le regole sono state testate e attivate controllando i log di ModSecurity.



- Scansione Post-WAF con OWASP ZAP ha mostrato:
- Avvisi ridotti (risposte bloccate o mascherate)
- Conferma della protezione offerta dal WAF


- Test di Sfruttamento utilizzando Metasploit contro Spring4Shell:
- Senza WAF: RCE riuscita (payload reverse shell)
- Con WAF: Exploit bloccato grazie al rilevamento del CRS


Conclusione
Il laboratorio dimostra l'importanza di una sicurezza a strati:
- Un'applicazione vulnerabile può essere facilmente esposta senza protezione
- ZAP/Burp aiutano a identificare e categorizzare le vulnerabilità
- ModSecurity e OWASP CRS riducono efficacemente la superficie d'attacco
- I WAF possono bloccare CVE reali come Spring4Shell con una corretta configurazione
Autore
Bruno Paolo Huamán Vela (Lima, Perù)
Studente di Cybersecurity – Ural Federal University (UrFU)