
VULCONHUB donne accès à des fichiers pour construire votre propre image de conteneur vulnérable afin d'apprendre et de pratiquer la sécurité.
Il existe de nombreux dépôts qui fournissent des environnements vulnérables, tels que des applications web, des conteneurs ou des machines virtuelles, à ceux qui souhaitent apprendre la sécurité. Cela aide non seulement les étudiants ou les personnes qui viennent de rejoindre le domaine à apprendre les technologies de sécurité pertinentes, mais aussi les professionnels de la sécurité à rester en pratique.
Parmi les approches, la plus simple de nos jours consiste à utiliser des conteneurs (par exemple Docker ou Podman).
Exécuter des conteneurs avec une seule commande comme docker run ou docker compose up, c'est génial !
Le problème est que vous ne pouvez pas savoir exactement ce qu'il fait (surtout en considérant qu'il s'agit d'un conteneur vulnérable), lorsque vous exécutez un conteneur, si vous le lancez simplement sans savoir comment il a été construit.
Le Dockerfile fournit cette information.
Bien que parfois le Dockerfile soit disponible dans le service de registre tel que hub.docker.com ou quay.io, ou que certaines informations sur les commandes utilisées puissent être déduites de docker history ou des COUCHES D'IMAGE, il est difficile de trouver des informations importantes telles que l'image de base utilisée pour construire l'image (par exemple spécifiée par FROM dans le Dockerfile).
Ce qui est encore plus risqué, c'est lorsqu'un utilisateur est invité à exécuter Docker avec l'option -v ou docker-compose dont le fichier de configuration contient une configuration de volumes. S'il n'y prête pas attention, un scénario possible est que ses fichiers sur l'hôte puissent être volés par des utilisateurs malveillants. Si un utilisateur est invité à exécuter un conteneur avec --privileged ou --user=root, cela peut être bien plus grave, car il existe un risque qu'un attaquant prenne pied dans le conteneur et s'échappe vers votre hôte.
Voir Docker Security - OWASP Cheat Sheet Series pour plus d'informations sur la sécurité de Docker.
Par conséquent, un utilisateur qui souhaite apprendre ou mettre en place des environnements de test doit être prudent lorsqu'il exécute une image de conteneur vulnérable. Fournir à l'utilisateur l'accès au Dockerfile et à la documentation aidera à minimiser ces risques, sinon tous, afin que l'utilisateur puisse apprendre et pratiquer la sécurité en toute sécurité.
Le projet OWASP Vulnerable Container Hub (VULCONHUB) est un projet qui fournit :
Les fichiers fournis dans le dépôt permettent aux utilisateurs de construire des images de conteneurs vulnérables, afin qu'ils puissent librement et en toute sécurité apprendre, jouer, s'entraîner, effectuer des preuves de concept rapides de vulnérabilités CVE ou les utiliser pour préparer leurs défis CTF.
L'objectif ultime du projet est de devenir la référence incontournable pour aider toute personne intéressée par la sécurité à partager et à maintenir de tels fichiers de construction de conteneurs utiles pour l'apprentissage et les pratiques de sécurité.
$ git submodule init
$ git submodule update
Il est également possible de spécifier un chemin qui n'est nécessaire que pour vous, afin de réduire le temps et de garder une utilisation du disque minimale.
$ git submodule init <path> [--recursive]
Pour plus d'informations sur les sous-modules git, voir https://git-scm.com/book/en/v2/Git-Tools-Submodules.
$ docker build . -t local/<image-name>`
$ docker run -p <hostport>:<containerport> local/<image-name>
Toute contribution est plus que bienvenue !!
Veuillez créer une Pull Request pour ajouter de nouveaux fichiers de construction de conteneurs. L'ajout de vos propres fichiers ou l'ajout de sous-modules sera le bienvenu.
Pour qu'une pull request soit fusionnée, chaque répertoire doit contenir les éléments suivants :