Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
multi-juicer — Размещайте и управляйте несколькими экземплярами Juice Shop для учебных курсов по безопасности и соревнований Capture The Flag. | Kitploit
Инструменты/GitHubGitHub/juice-shop/multi-juicer
Веб-безопасностьCTFОбучение и ОбразованиеЛаборатории и Практика
GitHubjuice-shop/multi-juicer

multi-juicer

Размещайте и управляйте несколькими экземплярами Juice Shop для учебных курсов по безопасности и соревнований Capture The Flag.

Репозиторий
3221779 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

MultiJuicer, многопользовательская платформа Juice Shop

Проведение CTF и тренингов по безопасности с OWASP Juice Shop обычно довольно сложно — Juice Shop не предназначен для одновременного использования несколькими пользователями. Инструктаж всех участников по запуску Juice Shop на их собственных машинах работает нормально, но отнимает слишком много драгоценного времени.

MultiJuicer дает вам возможность запускать отдельные экземпляры Juice Shop для каждого участника в центральном кластере Kubernetes, чтобы проводить мероприятия без необходимости в локальных экземплярах Juice Shop.

Что он делает:

  • динамически создает новые экземпляры Juice Shop по мере необходимости
  • работает на одном домене, имеет LoadBalancer, направляющий трафик на экземпляр Juice Shop каждого участника
  • аккуратная таблица лидеров, показывающая прогресс всех участников
  • удобная страница администратора для управления экземплярами
  • резервное копирование и автоматическое применение прогресса выполнения заданий в случае перезапуска контейнера Juice Shop
  • автоматическая очистка старых и неиспользуемых экземпляров

MultiJuicer, диаграмма высокоуровневой архитектуры

Подробное описание архитектуры и отдельных компонентов см. в документации по архитектуре.

👉 Новичок в MultiJuicer? Посмотрите визуальное руководство, чтобы узнать, как участники регистрируются, получают свои экземпляры JuiceShop и как отслеживаются очки на доске лидеров.

Установка

MultiJuicer работает на Kubernetes, для его установки вам понадобится helm

root@kitploit:~
helm install multi-juicer oci://ghcr.io/juice-shop/multi-juicer/helm/multi-juicer

Ознакомьтесь с заметками по эксплуатации — это контрольный список значений, которые вам, вероятно, потребуется настроить перед использованием MultiJuicer в реальных мероприятиях.

Чтобы настроить MultiJuicer с поддержкой заданий, связанных с AI/LLM в JuiceShop v20+, см. руководство по настройке AI/LLM

Руководства по установке для конкретных облачных провайдеров / окружений

В целом MultiJuicer работает практически на любом кластере Kubernetes, но чтобы облегчить задачу тем, кто только начинает работать с Kubernetes, у нас есть несколько руководств по настройке кластера Kubernetes с установленным MultiJuicer для некоторых конкретных облачных провайдеров.

  • Digital Ocean
  • AWS
  • OpenShift
  • Plain Kubernetes
  • Azure

Настройка установки

У вас есть несколько вариантов настройки стека, с возможностью настроить экземпляры JuiceShop по своему вкусу. Значения конфигурации по умолчанию можно найти в: helm/multi-juicer/values.yaml

Скачайте и сохраните файл, затем укажите helm использовать ваш конфигурационный файл вместо стандартного, выполнив:

root@kitploit:~
helm install -f values.yaml multi-juicer ./multi-juicer/helm/multi-juicer/

Чтобы настроить оформление экземпляров JuiceShop и интерфейса MultiJuicer (тема, логотип, доступные задания и т.д.), см. руководство по настройке JuiceShop.

Деинсталляция

root@kitploit:~
helm delete multi-juicer

Часто задаваемые вопросы

Сколько вычислительных ресурсов потребуется кластеру?

Для подстраховки рассчитывайте на:

  • 1 ГБ памяти и 1 vCPU накладных расходов для самого MultiJuicer
  • 300 МБ и 0.2 vCPU × количество участников / команд для отдельных экземпляров JuiceShop

Приведенные выше цифры отражают ограничения ресурсов по умолчанию. Их можно изменить — см. раздел Настройка установки.

Сколько пользователей может обслуживать MultiJuicer?

Строго фиксированного ограничения нет (хотя вы можете его настроить 😉). Собственный LoadBalancer, через который проходит весь трафик к отдельным экземплярам, можно реплицировать сколько угодно. Вы также можете подключить Horizontal Pod Autoscaler для автоматического масштабирования LoadBalancer.

Зачем нужен собственный LoadBalancer?

Существуют особые требования, которые, на наш взгляд, сложно решить с помощью готовых балансировщиков нагрузки:

  • Ограничение доступа к развертыванию только для участников определенной команды.
  • Cookie балансировщика должны быть защищены от подделки, чтобы нельзя было получить доступ к чужому экземпляру.
  • Обработка запуска новых экземпляров.

Если у вас есть отличные идеи, как решить эти проблемы без собственного балансировщика, напишите нам — будем рады услышать!

Почему отдельный deployment Kubernetes для каждой команды?

На это есть несколько веских причин:

  • Возможность удалять экземпляры каждой команды по отдельности. Безопасное масштабирование вниз без удаления экземпляров активных команд очень сложно реализовать при масштабировании через deployment. Вы можете выбрать только желаемое количество, а не то, какие модули оставить, а какие удалить.
  • Гарантия того, что модули останутся привязаны к своим командам после пересоздания модуля. С отдельными deployment это не проблема, а с масштабируемыми — очень сложно.
  • Возможность встраивать имя команды в имя deployment. Это кажется глупой причиной, но значительно упрощает отладку — достаточно использовать kubectl.

Как управлять JuiceShop с помощью kubectl?

Вы можете вывести список всех JuiceShop с соответствующей информацией, используя функцию custom-columns в kubectl.

root@kitploit:~
$ kubectl get -l app.kubernetes.io/name=juice-shop -o custom-columns="TEAM:metadata.labels.team,SOLVED-CHALLENGES:metadata.annotations.multi-juicer\.owasp-juice\.shop/challengesSolved,LAST-REQUEST:metadata.annotations.multi-juicer\.owasp-juice\.shop/lastRequestReadable" deployments
TEAM         SOLVED-CHALLENGES   LAST-REQUEST
foobar       3                   Wed May 4 2042 18:14:22 GMT+0000 (Coordinated Universal Time)
team-42      0                   Wed May 4 2042 18:14:30 GMT+0000 (Coordinated Universal Time)
the-empire   0                   Wed May 4 2042 18:14:46 GMT+0000 (Coordinated Universal Time)

Откуда взялся этот проект

Проект зародился в iteratec, немецкой компании по разработке программного обеспечения, для проведения тренингов по безопасности для своих разработчиков и клиентов. Затем проект был опубликован в открытом доступе в 2019 году и передан организации OWASP / проекту OWASP Juice Shop в 2023 году.

Свяжитесь с нами!

Вы можете связаться с нами в канале #project-juiceshop рабочего пространства OWASP Slack. Мы будем рады любым отзывам или сообщениям об использовании. Если вы еще не присоединились к рабочему пространству OWASP Slack, вы можете сделать это по этой ссылке.

Скачать инструмент