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

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

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

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

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

Категории

Все категории
Loading categories
purpleteam-s2-containers — Контейнеры второго этапа | Kitploit
Инструменты/GitLabGitLab/purpleteam-labs/purpleteam-s2-containers
Сканеры уязвимостейБезопасность контейнеровДинамический анализ (песочница)Веб-безопасностьТестирование на ПроникновениеБезопасность облачных средDevSecOpsОбучение и ОбразованиеArchived
GitLabpurpleteam-labs/purpleteam-s2-containers

purpleteam-s2-containers

Контейнеры второго этапа

Репозиторий
1235 лет назадЕщё не проверено

Популярное

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

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

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

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

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

логотип purpleteam

purpleteam Контейнеры второго этапа


Контейнеры второго этапа purpleteam




Эти контейнеры запускаются динамически на основе входных данных конфигурации Build User (Job), передаваемых в CLI purpleteam, а именно количества определённых вами testSession.

Следующие конфигурации актуальны, если вы собираетесь запускать серверную часть purpleteam в среде local. В среде cloud всё делается за вас.

Клонируйте этот репозиторий.

Определите переменные окружения

app-slave (Zap)

Мы используем файл .env непосредственно в каталоге app-slave для тестирования.

ZAP_API_KEY

Убедитесь, что вы присвоили значение переменной окружения ZAP_API_KEY.

ZAP_API_KEY может быть любым, просто убедитесь, что, помимо определения его для app-slave, вы также добавили его в конфигурацию проекта app-scanner. Проекту app-scanner требуется настроенный ZAP API Key для аутентификации в Zap, работающем в контейнере второго этапа. Для проекта app-scanner это необходимо указать в следующем:
{ "slave": { "apiKey": <zap-api-key-here> } }

HOST_ZAP_LOG4J_PROPERTIES_PATH и ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET

Если вам потребуются отладочные логи Zap, вам также нужно будет добавить переменные окружения для конфигурации отладки LOG4J.

Файл .env

Если вы решите использовать файл .env, добавление всех этих переменных окружения будет выглядеть примерно так:

ZAP_API_KEY=<zap-api-key-here>
HOST_ZAP_LOG4J_PROPERTIES_PATH=<absolute-path-to/purpleteam-s2-containers/app-slave/log4j.properties>
ZAP_LOG4J_PROPERTIES_PATH_MOUNT_TARGET=/home/zap/.ZAP/log4j.properties

Отладка

app-slave (Zap)

Отладка логирования

При условии, что вы задали переменные окружения, обсуждавшиеся выше:

Чтобы включить отладку логирования для контейнеров app-slave (Zap), работающих в среде local, раскомментируйте массив volumes и элемент, содержащий ключ source с переменной окружения HOST_ZAP_LOG4J_PROPERTIES_PATH.

Подробнее ниже о фактическом просмотре логов.

Взаимодействие с Zap

Вы можете взаимодействовать с Zap (запрашивать UI Zap) во время выполнения тестов. Раньше это было полезно для проверки состояния Zap при отладке app-scanner.

  1. Убедитесь, что контейнер appslave_zap_[n] запущен, с помощью:
    docker stats
    
  2. Проверьте, к какому порту хоста привязан контейнер appslave_zap_[n], с помощью:
    docker container ls
    
    Это может быть любой порт от 8080 до 8091 включительно, как определено в docker-compose.yml.
    Порт, на котором прослушивает Zap внутри контейнера, всегда будет 8080
  3. В вашем браузере с помощью FoxyProxy настройте прокси на localhost:[zap-host-port]
    FoxyProxyDetails_Zap-min
    Необязательно: настройте следующий URL Pattern в FoxyProxy: zap:8080/*
    FoxyProxyURLPattern_Zap-min
    Если вы используете URL Pattern, это позволит вам оставить FoxyProxy включенным, выбрав "Use proxies based on their predefined patterns and priorities". В противном случае вы можете просто выбрать конкретный созданный прокси
  4. Перейдите по адресу http://zap:8080/
    Ваши запросы будут проксироваться через порт хоста и обрабатываться процессом zap в контейнере, указанном портом хоста в вашей конфигурации FoxyProxy

selenium-standalone

Отладка логирования

Чтобы включить отладку логирования для контейнеров Selenium, работающих в среде local, раскомментируйте массив environment и элемент SE_OPTS=-debug для chrome и/или firefox.

Подробнее ниже о фактическом просмотре логов.

Просмотр браузера в контейнере Selenium

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

Настройка docker-compose.yml:

  • Замените образы контейнеров на образы с -debug. Образы с -debug могут быть закомментированы, поэтому достаточно закомментировать обычный образ и раскомментировать образ с добавлением -debug в конце
  • Убедитесь, что вы можете получить доступ к VNC-серверу внутри контейнера, раскомментировав диапазон портов 5900. Задав диапазон в качестве внешнего порта (например: 5900-5901), вы сможете одновременно подключаться по VNC к нескольким контейнерам. В примере мы разрешили одновременное открытие двух сессий. Если вам нужно подключиться более чем к двум, просто расширьте диапазон внешних портов

Настройка VNC-клиента:

  1. Вам понадобится VNC-клиент для подключения к VNC-серверу внутри контейнера. У нас успешно работал Remmina Remote Desktop Client на Linux Mint. Установите Remmina-plugin-vnc через Менеджер программ

  2. Запустите ваш Remmina Remote Desktop Client

  3. Создайте новые записи. Если вы планируете одновременно подключаться по VNC к нескольким контейнерам Selenium, можно настроить каждую из них, как показано ниже:

    КлючЗначение
    Имяseleniumstandalone_chrome_1
    ПротоколVNC - Virtual Network Computing
    На вкладке Basic
    Сервер127.0.0.1:5900
    Парольsecret
    Глубина цветаTrue color (24 bit) # Это единственное, что сработало для нас
    КачествоPoor (fastest)
    КлючЗначение
    Имяseleniumstandalone_chrome_2
    ПротоколVNC - Virtual Network Computing
    На вкладке Basic
    Сервер127.0.0.1:5901
    Парольsecret
    Глубина цветаTrue color (24 bit) # Это единственное, что сработало для нас
    КачествоPoor (fastest)

Дополнительные сведения на GitHub SeleniumHQ

Просмотр браузера в контейнере Selenium

После запуска контейнеров Selenium (удобно держать docker stats запущенным в терминале для просмотра этого) вы можете подтвердить, какой контейнер Selenium использует какой внешний порт, с помощью docker container ls, так как Docker не знает, какие порты вы назначили какой записи VNC-клиента, поэтому имя данной записи VNC-клиента может не совпадать с именем контейнера Selenium. По этой причине рекомендуется проверять привязку портов с помощью docker container ls.

Чтобы сопоставить, какой контейнер Selenium используется для какого тестового сеанса, когда у вас несколько тестовых сеансов, вам может потребоваться просмотреть выполняемый лог app-scanner. Возможно, вам также потребуется убедиться, что app-scanner настроен на уровень логирования debug, чтобы увидеть некоторые или все следующие сообщения лога:

[app.parallel] cucCli process with PID "28" has been spawned for test session with Id "lowPrivUser"

[app.parallel] cucCli process with PID "34" has been spawned for test session with Id "adminUser"

[pid-28,world] seleniumContainerName is: seleniumstandalone_chrome_1

[pid-34,world] seleniumContainerName is: seleniumstandalone_chrome_2

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