web-threat-mitigation
Hands-on lab sur la détection et l'atténuation des menaces web avec OWASP ZAP, Burp Suite et ModSecurity WAF (avec OWASP CRS). Étude de cas : Spring4Shell (CVE-2022-22965). Configuration locale basée sur Docker.
Laboratoire d'atténuation des menaces Web – OWASP ZAP, ModSecurity et exploitation CVE
Ce dépôt documente un laboratoire axé sur la simulation, l'analyse et l'atténuation des menaces courantes pour les applications web. Il comprend l'installation de cibles vulnérables, d'outils de scan, le déploiement d'un WAF (ModSecurity avec OWASP CRS) et une exploitation en direct de CVE-2022-22965 (Spring4Shell).
Objectifs du laboratoire
- Déployer une application web vulnérable (WebGoat) avec Docker
- Effectuer un scan de vulnérabilité avec OWASP ZAP et Burp Suite
- Configurer un proxy inverse avec Nginx + ModSecurity + OWASP CRS 4.9.0
- Analyser les résultats avant et après la mise en place du WAF
- Exploiter Spring4Shell et vérifier l'efficacité du WAF
Outils utilisés
- Docker + Docker Compose
- OWASP ZAP et Burp Suite
- ModSecurity (via libnginx-mod-http-modsecurity)
- OWASP Core Rule Set (CRS 4.9.0)
- Kali Linux avec Metasploit Framework
- CentOS 9 Stream & Debian 12
Flux de travail du laboratoire
- Déploiement de WebGoat sur CentOS avec Docker, exposé sur le port 8080.



- Scan initial depuis Kali Linux avec OWASP ZAP :
- Alertes à haut risque : Injection SQL, Spring4Shell
- Moyen : CSP manquant, jetons CSRF, falsification de paramètres
- Info : fuites de version, XSS potentiel, problèmes de session


- Déploiement du proxy inverse sur Debian 12 avec nginx.

- Configuration du WAF avec OWASP CRS et règles chargées depuis :
/etc/nginx/coreruleset-4.9.0/crs-setup.conf
/etc/nginx/coreruleset-4.9.0/rules/*.conf
Les règles ont été testées et activées en vérifiant les logs ModSecurity.



- Scan post-WAF avec OWASP ZAP a montré :
- Alertes réduites (réponses bloquées ou masquées)
- Confirmation de la protection du WAF en place


- Test d'exploitation avec Metasploit contre Spring4Shell :
- Sans WAF : RCE réussie (payload de reverse shell)
- Avec WAF : Exploit bloqué en raison de la détection CRS


Conclusion
Ce laboratoire montre l'importance d'une sécurité en couches :
- Une application vulnérable peut être facilement exposée sans protection
- ZAP/Burp aident à identifier et catégoriser les vulnérabilités
- ModSecurity et OWASP CRS réduisent efficacement la surface d'attaque
- Les WAF peuvent bloquer des CVE réelles comme Spring4Shell avec un réglage approprié
Auteur
Bruno Paolo Huamán Vela (Lima, Pérou)
Étudiant en cybersécurité – Université fédérale de l'Oural (UrFU)