
Lab Docker pédagogique pour la traversée de chemin et l'exécution de code à distance (RCE) sur Apache HTTP Server 2.4.49 (CVE-2021-41773), incluant recherche sur la CVE, exploit PoC, preuves de test et recommandations d'atténuation.
⚠️ Pour un usage en laboratoire isolé et éducatif UNIQUEMENT. Ce dépôt construit un serveur Apache délibérément vulnérable. Ne l'exécutez jamais sur un hôte de production, actif ou exposé à Internet.
Projet de stage Red Team réalisé par Team Alpha (ITSOLERA — Sécurité Offensive / Développement d'exploit pour une CVE connue). Le travail est réparti sur six dossiers de tâches afin que chaque membre puisse contribuer via sa propre pull request.
📄 Rapport final : 06-final-report/CVE-2021-41773-Final-Report.pdf
Apache 2.4.49 décode un point encodé en %2e après sa vérification de normalisation de chemin,
ainsi /files/.%2e/.%2e/.%2e/.%2e/etc/passwd s'échappe de la racine du document. Avec
mod_cgi activé, la même astuce contre /bin/sh permet l'exécution de code à distance.
| Dossier | Responsable | Livrable | Statut |
|---|---|---|---|
01-cve-research/ | Fatima Bente Mustafa | Résumé de la CVE, versions affectées, cause racine, CVSS, références | ✅ Terminé |
02-lab-setup/ | Emaar Ejaz | Laboratoire Docker Apache 2.4.49 vulnérable + SETUP.md | ✅ Terminé |
03-vulnerability-analysis/ | Anum Aamir Sajjad | ANALYSIS.md + evidence-log.txt | ✅ Terminé |
04-exploit-poc/ | Noor Saba Basit | cve-2021-41773.py + exploit.sh + logique | ✅ Terminé |
05-testing-evidence/ | Sana Tariq | Captures d'écran, sortie terminal, journaux du serveur | ✅ Terminé |
06-final-report/ | Muhammad Hammad | Rapport final compilé (PDF) + mesures d'atténuation | ✅ Terminé |
La cible vulnérable se trouve dans 02-lab-setup/. Depuis ce
dossier :
docker build -t cve-2021-41773-lab:2.4.49 .
docker run -d --name apache-2449-vuln -p 127.0.0.1:8080:80 cve-2021-41773-lab:2.4.49
Consultez 02-lab-setup/SETUP.md pour la configuration complète,
la vérification, la collecte de preuves et le guide de dépannage.
Mettez à niveau vers Apache HTTP Server 2.4.51 ou ultérieur. En défense en profondeur, maintenez
<Directory /> à Require all denied par défaut et n'accordez l'accès que là où c'est nécessaire.