
VULCONHUB предоставляет доступ к файлам для создания собственного практического образа уязвимого контейнера, чтобы изучать и отрабатывать навыки безопасности.
Существует множество репозиториев, предоставляющих уязвимые среды, такие как веб-приложения, контейнеры или виртуальные машины, тем, кто хочет изучать безопасность, поскольку это помогает не только студентам или новичкам в этой области освоить соответствующие технологии безопасности, но и профессионалам в области безопасности поддерживать свои навыки.
Среди подходов самым простым способом на сегодняшний день является использование контейнеров (например, docker или podman).
Запуск контейнеров одной лишь командой, например docker run или docker compose up, звучит потрясающе!
Проблема в том, что вы не можете точно знать, что делает контейнер (особенно учитывая, что это уязвимый контейнер), когда запускаете его, если вы просто запускаете контейнер, не зная, как он был создан.
Dockerfile предоставляет эту информацию.
Хотя иногда Dockerfile доступен в реестровом сервисе, таком как hub.docker.com или quay.io, или некоторая информация об использованных командах может быть получена из docker history или доступных слоёв образа, сложно выяснить такую важную информацию, как базовый образ, который использовался для сборки образа (например, указанный как FROM в Dockerfile).
Более рискованная ситуация возникает, когда пользователя просят запустить docker с опцией -v или использовать docker-compose, файл конфигурации которого содержит настройку томов. Если они не проявят внимательности, возможен сценарий, при котором их файлы на хосте могут быть украдены злоумышленниками. Если пользователя просят запустить контейнер с флагом --privileged или --user=root, это может быть гораздо серьёзнее, поскольку существует риск, что злоумышленник закрепится в контейнере и совершит побег на ваш хост.
См. Docker Security - OWASP Cheat Sheet Series для получения дополнительной информации о безопасности Docker.
Поэтому пользователь, желающий учиться или создавать тестовые среды, должен быть осторожен при запуске уязвимого образа контейнера. Предоставление пользователю доступа к Dockerfile и документации поможет минимизировать такие риски, если не устранить их полностью, чтобы пользователь мог безопасно учиться и практиковаться в области безопасности.
OWASP Vulnerable Container Hub (VULCONHUB) — это проект, который предоставляет:
Файлы, предоставленные в репозитории, позволяют пользователям собирать уязвимые образы контейнеров, чтобы они могли свободно и безопасно учиться, играть, практиковаться, выполнять быстрые proof-of-concept проверки CVE-уязвимостей или использовать их для подготовки к CTF-соревнованиям.
Конечная цель проекта — стать основным справочным ресурсом, помогающим всем интересующимся безопасностью делиться и поддерживать такие полезные файлы сборки контейнеров для изучения и практики в области безопасности.
$ git submodule init
$ git submodule update
Также можно указать путь, который нужен только вам, чтобы сократить время и минимизировать использование диска.
$ git submodule init <path> [--recursive]
Для получения дополнительной информации о git submodule см. https://git-scm.com/book/en/v2/Git-Tools-Submodules.
$ docker build . -t local/<image-name>`
$ docker run -p <hostport>:<containerport> local/<image-name>
Любой вклад более чем приветствуется!!
Пожалуйста, создайте Pull Request, чтобы добавить новые файлы сборки контейнеров. Приветствуется как добавление собственных файлов, так и добавление подмодулей.
Чтобы pull request был принят, каждый каталог должен содержать следующее: