
VULCONHUB proporciona acceso a archivos para crear tu propia imagen de contenedor vulnerable práctica para aprender y practicar seguridad.
Existen muchos repositorios que ofrecen entornos vulnerables, como aplicaciones web, contenedores o máquinas virtuales, para quienes quieren aprender seguridad, ya que esto ayuda no solo a estudiantes o a quienes se han incorporado recientemente al campo a aprender las tecnologías de seguridad relevantes, sino también a los profesionales de la seguridad a mantenerse en la práctica.
Entre los enfoques, la forma más fácil hoy en día es usar contenedores (por ejemplo, docker o podman).
¡Ejecutar contenedores con solo un comando como docker run o docker compose up suena genial!
El problema es que no puedes saber exactamente qué hace (especialmente, teniendo en cuenta que es un contenedor vulnerable), cuando ejecutas un contenedor, si simplemente lo ejecutas sin saber cómo fue construido.
El Dockerfile proporciona la información.
Aunque a veces el Dockerfile está disponible en el servicio de registro, como hub.docker.com o quay.io, o se puede derivar alguna información sobre qué comandos se han utilizado a partir de docker history o de las IMAGE LAYERS disponibles, es difícil averiguar información importante como la imagen base que se utilizó para construir la imagen (por ejemplo, especificada como FROM en el Dockerfile).
Una situación más arriesgada es cuando se pide al usuario ejecutar docker con la opción -v o docker-compose cuyo archivo de configuración tiene configuración de volúmenes. Si no prestan atención, un posible escenario puede incluir que sus archivos en el host puedan ser robados por usuarios malintencionados. Si se pide a un usuario ejecutar un contenedor con --privileged o --user=root, puede ser mucho más grave, ya que existe el riesgo de que un atacante pueda afianzarse en el contenedor y escapar a tu host.
Consulta Docker Security - OWASP Cheat Sheet Series para obtener más información sobre la seguridad de Docker.
Por lo tanto, un usuario que quiera aprender o configurar entornos de prueba debe ser cauteloso al ejecutar una imagen de contenedor vulnerable. Proporcionar al usuario acceso al Dockerfile y a la documentación ayudará a minimizar dichos riesgos, si no todos, para que el usuario pueda disfrutar aprendiendo y practicando seguridad de forma segura.
El OWASP Vulnerable Container Hub (VULCONHUB) es un proyecto que proporciona:
Los archivos proporcionados en el repositorio permiten a los usuarios construir imágenes de contenedores vulnerables, de modo que puedan libre y seguramente aprender, jugar, practicar y realizar pruebas de concepto rápidas de vulnerabilidades CVE, o usarlas como preparación para sus desafíos CTF.
El objetivo final del proyecto es convertirse en la referencia principal para ayudar a cualquier persona interesada en la seguridad a compartir y mantener estos útiles archivos de construcción de contenedores para el aprendizaje y la práctica de la seguridad.
$ git submodule init
$ git submodule update
También es posible especificar una ruta que solo sea necesaria para ti, para reducir el tiempo y mantener el uso de disco al mínimo.
$ git submodule init <path> [--recursive]
Para obtener más información sobre el submódulo de git, consulta https://git-scm.com/book/en/v2/Git-Tools-Submodules.
$ docker build . -t local/<image-name>`
$ docker run -p <hostport>:<containerport> local/<image-name>
¡¡Cualquier contribución es más que bienvenida!!
Por favor, crea un Pull Request para añadir nuevos archivos de construcción de contenedores. Tanto añadir tus propios archivos como añadir submódulos será bienvenido.
Para que un pull request sea fusionado, cada directorio debe tener lo siguiente: