
VULCONHUB fornece acesso a arquivos para construir sua própria imagem de contêiner vulnerável na prática, para aprender e praticar segurança.
Existem muitos repositórios por aí que fornecem ambientes vulneráveis, como aplicações web, containers ou máquinas virtuais, para aqueles que querem aprender segurança, pois isso ajuda não só estudantes ou quem acabou de entrar na área a aprender as tecnologias de segurança relevantes, mas também profissionais de segurança a manterem-se na prática.
Entre as abordagens, a forma mais fácil hoje em dia é usar containers (ex.: docker ou podman).
Executar containers com apenas um comando, como docker run ou docker compose up, parece fantástico!
O problema é que você não pode saber exatamente o que ele faz (especialmente considerando que é um container vulnerável) ao executar um container, se você simplesmente o executa sem saber como ele foi construído.
O Dockerfile fornece essa informação.
Embora às vezes o Dockerfile esteja disponível no serviço de registro, como hub.docker.com ou quay.io, ou alguma informação sobre quais comandos foram usados possa ser derivada de docker history ou das IMAGE LAYERS, é desafiador descobrir informações importantes como a imagem base que foi usada para construir a imagem (ex.: especificada como FROM no Dockerfile).
O que é uma situação mais arriscada é quando um usuário é solicitado a executar o docker com a opção -v ou docker-compose cujo arquivo de configuração tem configuração de volume. Se não prestarem atenção, um cenário possível pode incluir seus arquivos no host sendo roubados por usuários mal-intencionados. Se um usuário for solicitado a executar um container com --privileged ou --user=root, pode ser muito mais sério, pois há o risco de um atacante estabelecer uma base no container e escapar para o seu host.
Consulte Docker Security - OWASP Cheat Sheet Series para mais informações sobre segurança no Docker.
Portanto, um usuário que queira aprender ou montar ambientes de teste deve ter cautela ao executar uma imagem de container vulnerável. Fornecer ao usuário acesso ao Dockerfile e à documentação ajudará a minimizar esses riscos, senão todos, para que o usuário possa aprender e praticar segurança com segurança e tranquilidade.
O OWASP Vulnerable Container Hub (VULCONHUB) é um projeto que fornece:
Os arquivos fornecidos no repositório permitem que os usuários construam imagens de containers vulneráveis, para que possam livremente e com segurança aprender, brincar, praticar e fazer provas de conceito rápidas de vulnerabilidades CVE ou usá-las para se preparar para desafios de CTF.
O objetivo final do projeto é se tornar a referência para ajudar qualquer pessoa interessada em segurança a compartilhar e manter esses arquivos úteis de construção de containers para aprendizado e práticas de segurança.
$ git submodule init
$ git submodule update
Também é possível especificar um caminho que seja necessário apenas para você, para reduzir o tempo e manter o uso de disco ao mínimo.
$ git submodule init <path> [--recursive]
Para mais informações sobre o submódulo do git, consulte https://git-scm.com/book/en/v2/Git-Tools-Submodules.
$ docker build . -t local/<image-name>`
$ docker run -p <hostport>:<containerport> local/<image-name>
Qualquer contribuição é mais que bem-vinda!!
Por favor, crie um Pull Request para adicionar novos arquivos de construção de containers. Adicionar seus próprios arquivos ou adicionar submódulos será bem-vindo.
Para que um pull request seja mesclado, cada diretório deve ter o seguinte: