Es ist zwar schon eine Weile her, wo ich über DVWA(Damn Vulnerable Web Application) geschrieben habe, aber ich möchte die Installation von DVWA mit Docker nicht vorenthalten. Im damaligen Artikel hatte ich die Installation mit dem Package-Manager, bzw. github beschrieben. Dort hatte ich die Datenbank und weiteres händisch aufbereitet. Einfacher ist somit also die Installation über Docker. Naheliegend, dass Docker vorerst installiert ist, danach ist die Integration ein einfaches und kann mit einer Zeile Code installiert werden.
Docker Installation
Solltet ihr vorhaben, einen neuen Server zu installieren, Docker ist bei der Ubuntu-server Installation als Package bei der Installation auswählbar. Habt ihr schon einen Server und wollt Docker nachträglich integrieren, so könnt ihr den Installationshergang auf der Dockerseite finden. Die Ubuntu Installation über das Repository beschreibe ich hier weiter. Für die Installation benötigen wir vorerst das Repository von Docker. Dies kann wie folgt eingebunden werden.
sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
Nach der Installation können wir den offiziellen Docker GPG Key einfügen.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Benutzte den Nachfolgende Codeblock, um das stable Repository hinzuzufügen.
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Sobald das Repository hinzugefügt ist, können wir die Docker-engine installieren
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
Ihr könnt nun überprüfen, ob Docker korrekt installiert ist, indem ihr das hello-world image ausführt
sudo docker run hello-world
Folgende Ausgabe solltet ihr dabei am Ende erhalten
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world b8dfde127a29: Pull complete Digest: sha256:9f6ad537c5132bcce57f7a0a20e317228d382c3cd61edae14650eec68b2b345c Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
DVWA mit Docker installieren
Wie schon oben beschrieben, ist die DVWA Installation danach nur noch ein Einzeiler.
docker run --rm -it -p 80:80 vulnerables/web-dvwa
Sollte bei euch also noch nicht der Container „vulnerables/web-dvwa“ existieren, so lädt Docker diesen herunter und startet ihn. Dadurch, dass Docker in seiner eigenen Infrastruktur auf dem Server läuft und eine eigene IP inne hält, geben wir an, dass der Zugriff auf den Server auf Port 80 weiter zum Container auf Port 80 geleitet wird. Mit -rm entfernen wir den Container, falls dieser schon existiert.
Wir können nun auf DVWA zugreifen. Dafür gebt einfach die IP-Adresse eures Servers im Browser ein. Ihr solltet zur Anmeldeseite kommen. Username und Passwort sind in dem Fall admin:password. Von der Anmeldung gefolgt, kommt die Datenbank und das Setup. Ihr könnt vermeintliche Fehler fixen, ist aber nicht zwingend erforderlich. In dem Fall wären einige Funktionen in DVWA nicht gegeben.
Nachdem ihr auf „Create/Reset Database“ geklickt habt, wird die Einrichtung vorgenommen und ihr könnt euch erneut mit admin:password anmelden. Dieses mal werdet ihr auf die Mainpage von DVWA weitergeleitet.
Hier könnt ihr Einstellungen vornehmen und die Schwierigkeit hochschrauben. Von Brutforce bis hin zu XSS ist hier alles vertreten und ihr könnt eure Skills ausgiebig testen.