Nginx UI Exploit Einrichtung
Diese Anleitung beschreibt die Schritte zur Einrichtung von Nginx UI mit Docker Compose, zum Erstellen eines Benutzers, zum Ausführen eines Exploits und zur Überprüfung der Ergebnisse innerhalb des Docker-Containers.
Voraussetzungen
- Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem Rechner installiert sind.
- Vertrautheit mit grundlegenden Befehlszeilenoperationen.
Installieren von nginx über docker
- Laden Sie die docker-compose.yml herunter
- Überprüfen Sie, ob Ihre nginx.conf-Datei diese Zeilen enthält.
Hinweis: unter Linux (Ubuntu) befindet sich diese Datei unter /etc/nginx/nginx.conf
http {
# ...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
- Erstellen Sie ein lokales Verzeichnis www in Ihrem Arbeitsverzeichnis. Kopieren Sie dessen Pfad und ändern Sie die erste Hälfte von Zeile 13 im Docker-Compose-YAML (nur den Teil vor dem
:).
Line 13 ~/cve_session1/nginx/www
- Erstellen Sie Ihren Container mit:
- Warten Sie ein paar Minuten und überprüfen Sie, ob das Docker-Image läuft:
Sie sollten sehen, dass der nginx-Docker läuft.
- Melden Sie sich bei der nginx UI unter http://127.0.0.1:8080/#/login an
- Erstellen Sie ein Admin-Benutzerkonto. Benutzername: admin , Passwort: admin.
- Erstellen Sie dann innerhalb der nginx UI einen weiteren Benutzer: Benutzername: basic , Passwort: basic.
Hinweis: Sie können die Benutzer mit beliebigen Namen und Passwörtern erstellen. Stellen Sie nur sicher, dass Sie das Python-Skript aktualisieren.
- Führen Sie den Exploit aus. Er ist weitgehend selbsterklärend.
- Melden Sie sich bei Docker an und überprüfen Sie, ob die Befehlsinjektion funktioniert.
# Get container id first
docker ps
# Access container shell
docker exec -it <container-id> /bin/sh
# Check the tmp directory
ls -l /tmp