
VULCONHUB bietet Zugriff auf Dateien, um Ihr eigenes verwundbares Container-Image für praxisnahes Lernen und Üben von Sicherheit zu erstellen.
Es gibt viele Repositories, die gefährdete Umgebungen wie Webanwendungen, Container oder virtuelle Maschinen für diejenigen bereitstellen, die Sicherheit lernen möchten. Das hilft nicht nur Studierenden oder Personen, die neu im Bereich sind, die relevanten Sicherheitstechniken zu erlernen, sondern auch Sicherheitsexperten, um praxisnah zu bleiben.
Unter den Ansätzen ist die einfachste Methode heutzutage die Verwendung von Containern (z. B. Docker oder Podman).
Container mit nur einem Befehl wie docker run oder docker compose up auszuführen, klingt großartig!
Das Problem ist, dass man nicht genau weiß, was ein Container tut (insbesondere, wenn es sich um einen verwundbaren Container handelt), wenn man ihn einfach ausführt, ohne zu wissen, wie er erstellt wurde.
Das Dockerfile enthält diese Informationen.
Obwohl das Dockerfile manchmal im Registry-Dienst wie hub.docker.com oder quay.io verfügbar ist oder Informationen über die verwendeten Befehle aus docker history oder den Image-Layern abgeleitet werden können, ist es schwierig, einige wichtige Informationen herauszufinden, etwa das Basis-Image, das zum Erstellen des Images verwendet wurde (z. B. als FROM im Dockerfile angegeben).
Riskant ist es, wenn ein Benutzer aufgefordert wird, Docker mit der Option -v oder docker-compose auszuführen, dessen Konfigurationsdatei eine Volume-Konfiguration enthält. Wenn Benutzer nicht aufpassen, könnte ein mögliches Szenario sein, dass Dateien auf dem Host von böswilligen Benutzern gestohlen werden. Wenn ein Benutzer aufgefordert wird, einen Container mit --privileged oder --user=root auszuführen, kann das wesentlich ernster sein, da das Risiko besteht, dass ein Angreifer im Container Fuß fasst und auf deinen Host entkommt.
Weitere Informationen zur Docker-Sicherheit findest du unter Docker Security - OWASP Cheat Sheet Series.
Daher muss ein Benutzer, der lernen oder Testumgebungen einrichten möchte, beim Ausführen eines verwundbaren Container-Images vorsichtig sein. Die Bereitstellung des Zugriffs auf das Dockerfile und die Dokumentation hilft, diese Risiken – wenn auch nicht alle – zu minimieren, sodass der Benutzer sicher lernen und für die Sicherheit üben kann.
Das OWASP Vulnerable Container Hub (VULCONHUB) ist ein Projekt, das Folgendes bereitstellt:
Die im Repository bereitgestellten Dateien ermöglichen es Benutzern, verwundbare Container-Images zu erstellen, sodass sie frei und sicher lernen, spielen, üben und schnelle Proof-of-Concepts für CVE-Schwachstellen durchführen oder sie zur Vorbereitung auf ihre CTF-Herausforderungen nutzen können.
Das übergeordnete Ziel des Projekts ist es, zur ersten Anlaufstelle zu werden, um allen an Sicherheit Interessierten zu helfen, solche nützlichen Container-Build-Dateien zum Sicherheitslernen und für die Sicherheitspraxis zu teilen und zu pflegen.
$ git submodule init
$ git submodule update
Es ist auch möglich, einen Pfad anzugeben, der nur für dich notwendig ist, um Zeit zu sparen und den Speicherplatzverbrauch gering zu halten.
$ git submodule init <path> [--recursive]
Weitere Informationen zu Git-Submodulen findest du unter https://git-scm.com/book/en/v2/Git-Tools-Submodules.
$ docker build . -t local/<image-name>`
$ docker run -p <hostport>:<containerport> local/<image-name>
Jeder Beitrag ist mehr als willkommen!!
Bitte erstelle einen Pull Request, um neue Container-Build-Dateien hinzuzufügen. Sowohl das Hinzufügen eigener Dateien als auch das Hinzufügen von Submodulen ist willkommen.
Damit ein Pull Request gemerged werden kann, muss jedes Verzeichnis Folgendes enthalten: