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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/clickswave/vuln_apps
Анализ уязвимостейВеб-безопасностьТестирование на ПроникновениеОбучение и ОбразованиеБезопасность APIЛаборатории и Практика
GitHubclickswave/vuln_apps

vuln_apps

Запускает набор намеренно уязвимых веб/API-приложений в изолированных Docker-стеках для локального тестирования на проникновение и проверки результатов сканеров с помощью эталонных каталогов уязвимостей.

Репозиторий
1171 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

vuln_apps

Парк намеренно уязвимых приложений, на которые можно нацеливать инструменты безопасности (crossfyre, Burp, ZAP, nuclei и так далее). В этой папке нет исходного кода приложений — только каркасные определения и небольшой менеджер. Каждое приложение работает как собственный изолированный стек контейнеров, поэтому ничего не конфликтует.

Всё здесь намеренно уязвимо. Только для локального тестирования. Не открывайте доступ к этим приложениям в интернет или в недоверенную сеть. Все порты привязаны к 127.0.0.1.

Как это работает

  • docker compose up запускает один контейнер: vuln_apps_manager (управляющий компонент). Сам по себе он не запускает ни одного уязвимого приложения.
  • Вы управляете парком через менеджер. Каждое приложение задаётся каркасной папкой в apps/<name>/ (манифест app.yml + compose.yml) и запускается менеджером как отдельный проект docker compose.
  • Поскольку каждое приложение — это отдельный проект, у него собственная сеть, собственные тома и собственная база данных. Два приложения, оба использующие Postgres, никогда не разделяют одну БД.
  • Публикуется только веб/целевой порт приложения, привязанный к 127.0.0.1. Базы данных и внутренние компоненты никогда не привязываются к хосту. Веб-сервис каждого приложения также подключается к общей сети vuln-net, поэтому сканер, работающий в контейнере, может обращаться к ним по имени (например, http://dvwa) вообще без хост-порта.
  • Быстрый старт

    root@kitploit:~
    cd vuln_apps
    ./vam start --all      # ONE command: builds the manager, starts every light app,
                           # and runs each app's first-time setup automatically
    ./vam status           # what's running + URLs
    ./vam stop --all       # stop everything
    

    Та единственная команда ./vam start --all также выполняет разовую настройку, необходимую каждому приложению (создание базы данных DVWA, установку bWAPP, наполнение VAmPI), так что каждое приложение можно использовать сразу, как только оно сообщит статус running — без ручного перехода по /setup.php или /install.php.

    Хотите, чтобы менеджер оставался запущенным как живой монитор статуса? Сначала выполните docker compose up -d, затем используйте ./vam ..., как указано выше.

    ./vam <cmd> — это просто обёртка. То же самое без неё:

    root@kitploit:~
    docker compose run --rm vuln_apps_manager start --all
    docker compose run --rm vuln_apps_manager status
    

    Команды менеджера

    КомандаЧто делает
    ./vam listсписок всех приложений, их состояние и URL
    ./vam start <app...> | --all [--heavy]запустить приложение(я). --all пропускает тяжёлые приложения, если не указан --heavy
    ./vam stop <app...> | --allостановить приложение(я)
    ./vam restart <app...> | --allперезапустить приложение(я)
    ./vam statusтаблица состояния парка
    ./vam logs <app> [-f]вывод последних строк логов приложения
    ./vam pull <app...> | --allзаранее загрузить образы
    ./vam portsкарта хост-портов + проверка конфликтов
    ./vam doctorпроверки окружения и портов

    Примеры: ./vam start juice-shop dvwa, ./vam start crapi --heavy, ./vam logs webgoat -f.

    Приложения и порты

    Все URL имеют вид http://127.0.0.1:<port> (только loopback).

    ПриложениеПортСтекПримечания
    juice-shop7001Node / Angularсовременный SPA + REST
    dvwa7002PHP / MariaDBБД создаётся автоматически при старте; вход admin/password
    webgoat7003Java+ WebWolf на 7004 (ловушка OOB)
    vampi7005Python / FlaskOWASP API Top 10
    dvga7006Python / GraphQL/graphql
    bwapp7007PHPавтоустановка при старте; вход bee/bug
    log4shell7009Java / Springblind-RCE -> OAST
    crapi7010Node/Java/Pythonтяжёлое; mailhog на 7011
    faultline8088SvelteKit/Rust/PG/Redisзагружается с GitHub (см. ниже)

    Зарезервированный блок хост-портов: 7001-7099. ./vam ports показывает актуальную карту и помечает любые конфликты.

    Добавление нового приложения

    Поместите папку в apps/:

    root@kitploit:~
    apps/<name>/
      app.yml       # name, description, category, stack, url
      compose.yml   # the container(s): image, ports (127.0.0.1 only), any DB
      setup.sh      # optional: one-time init run after start (see below)
    

    Правила, которые поддерживают порядок в парке:

    • Привязывайте только веб/целевой порт — к 127.0.0.1:<free 70xx port>.
    • Одноконтейнерные приложения: размещайте сервис только в [vuln-net]. Не добавляйте сеть на уровне проекта — это экономит пул адресов Docker (при слишком большом количестве сетей Docker падает с ошибкой "all predefined address pools have been fully subnetted").
    • Приложения с базой данных: размещайте приложение в [default, vuln-net], а БД — только в [default] (частная, без привязки к хосту). Каждому приложению давайте собственный сервис БД и том (не используйте общие). Объявляйте vuln-net как external: true.
    • Настройка при первом запуске: если приложению требуется разовая инициализация (создание БД, установка, наполнение), добавьте apps/<name>/setup.sh. Менеджер запускает его после start изнутри контейнера менеджера (который находится в vuln-net и содержит curl), поэтому он может обратиться к приложению по имени сервиса, например curl http://<service>/install.php.

    На этом всё. Менеджер подхватывает приложение автоматически (./vam list).

    Для приложения, исходный код которого живёт в git-репозитории (например faultline), пропустите compose.yml и вместо этого укажите в app.yml repo: (URL для клонирования) и compose: (путь к compose-файлу внутри этого репозитория). При первом запуске менеджер клонирует его в apps/<name>/src/ (исключено через .gitignore), так что исходный код сюда не включается.

    Каталоги уязвимостей

    В vulns/ хранится «ключ ответов» для каждого приложения (к каким уязвимостям должна быть восприимчива каждая цель), чтобы можно было сверять результаты сканера с эталоном. См. vulns/README.md. Подробные локальные каталоги есть для faultline и crapi; вышестоящие приложения указывают на собственные авторитетные ключи ответов.

    crAPI (тяжёлое)

    crAPI запускает Postgres + Mongo + три уровня приложения (~2 ГБ), поэтому --all пропускает его. Запустите его явно: ./vam start crapi --heavy. Первая загрузка медленная; одноразовые коды (OTP) при регистрации и письма для сброса пароля попадают в mailhog на http://127.0.0.1:7011.

    faultline (загружается с GitHub)

    faultline — собственный full-stack целевой стенд Clickswave. Его исходный код не хранится здесь; при первом запуске менеджер клонирует его из github.com/clickswave/faultline:

    root@kitploit:~
    ./vam start faultline    # clones the repo into apps/faultline/src/, then builds + runs it
    

    Первый запуск собирает его (Rust; медленно). Позже обновите локальную копию с помощью ./vam pull faultline. Затем откройте http://127.0.0.1:8088. Демо-доступы: [email protected] / password, [email protected] / admin.

    Примечания

    • docker compose down останавливает только менеджер. Сначала остановите приложения командой ./vam stop --all (это отдельные проекты).
    • Менеджер общается с Docker-демоном хоста через смонтированный сокет; именно поэтому он может запускать и отслеживать остальные контейнеры.
    Скачать инструмент