
Современный киберполигон с 50 практическими заданиями по направлениям безопасности: веб, API, облачные технологии, ИИ и blue-team. Включает направленные цепочки атак, прозрачный симулятор ИИ и отчеты по GRC-доказательствам для изучения методов пентеста и защиты.
Современное уязвимое приложение и киберполигон для изучения веб-, API-, облачной, AI-безопасности и Blue Team через практические цепочки атак.
╔═══════════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗███╗ ██╗████████╗███████╗███████╗████████╗ ║
║ ██╔══██╗██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝ ║
║ ██████╔╝█████╗ ██╔██╗ ██║ ██║ █████╗ ███████╗ ██║ ║
║ ██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ╚════██║ ██║ ║
║ ██║ ███████╗██║ ╚████║ ██║ ███████╗███████║ ██║ ║
║ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ║
║ СОВРЕМЕННЫЙ КИБЕРПОЛИГОН · 50 ЗАДАЧ · 8 ТРЕКОВ ║
╚═══════════════════════════════════════════════════════════════╝
★ Поставьте звезду этому репозиторию, если он вам помог – это бесплатно и помогает другим найти бесплатное обучение безопасности.
PENTEST-LAB — это не очередная уязвимая коробка. Это полноценный киберполигон, который сочетает взгляд атакующего и защитника с выводом результатов в стиле GRC:
[SYSTEM][USER][RETRIEVED][HISTORY], сгенерированный вывод, обнаруженную технику инъекции и переключатели для каждой защиты.127.0.0.1, громко предупреждает на 0.0.0.0, все секреты фейковые и явно помечены, SSRF цели — локальный внутрипроцессный мок (нет реального исходящего трафика), нет внешних целей.make verify-registry проверяет реестр задач (уникальные id/флаги, обязательные поля, ресурсы, количество подсказок), чтобы каталог оставался согласованным.# 1. Одна команда (устанавливает зависимости, наполняет БД, запускает сервер)
python start_lab.py
# или: make start
Откройте http://localhost:3000 в браузере.
# Только бэкенд
cd backend && npm install && npm start
# Docker (публикуется только на 127.0.0.1)
docker compose up --build
# Сбросить захваченные флаги / события / прогресс цепочки
make reset
# Обновить демо-данные
make seed
# Дымовое тестирование основных маршрутов (сначала запустите лабораторию)
make test
# Проверить реестр задач (уникальные id/флаги, поля, ресурсы)
make verify-registry
# Безопасное локальное демо эксплуатации (5 задач)
python demo_exploit.py
Каждая задача содержит: id, название, трек, категорию, сложность, цель, уязвимый эндпоинт, концепцию эксплуатации, 3 прогрессивные подсказки (расплывчатая → конкретная → ответ), флаг, способ устранения, примечания по обнаружению/доказательствам, сопоставленную область контроля, а также список ресурсов для изучения перед решением.
Нажмите на любую карточку задачи, чтобы открыть модальное окно. Оно даёт вам:
Реалистичная, полностью локальная цепочка за шесть детектируемых шагов:
Разведка → Утечка информации → Злоупотребление учётными данными/токенами →
Повышение привилегий → Доступ к конфиденциальным данным → Отчёт с доказательствами
B=http://127.0.0.1:3000
curl -s $B/api/attack-chain/recon # 1. отладочный эндпоинт раскрывает маршруты
curl -s $B/api/attack-chain/leak # 2. утечка фейкового JWT-секрета (weak123)
# 3. подделка токена администратора -> 4. повышение привилегий -> 5. чтение фейковых записей клиентов -> 6. отчёт
curl -s $B/api/attack-chain/progress
Отслеживайте прогресс в реальном времени на вкладке Цепочка атак.
Вкладка Защитник показывает ту же активность, которую только что выполнил атакующий: последние события, неудачные логины, подозрительный доступ к API, загрузки файлов, попытки SSRF, попытки повышения привилегий, захваченные флаги и прогресс цепочки атак — каждое событие окрашено по серьёзности, захваты флагов помечены 🚩.
curl -s http://localhost:3000/api/blue-team/dashboard
Создайте отчёт на основе захваченных флагов, сопоставляя каждый с находкой, содержащей уровень серьёзности, затронутый эндпоинт, доказательство, бизнес-влияние, способ устранения, область контроля и возможность обнаружения.
# Markdown (по умолчанию)
curl -s -X POST http://localhost:3000/api/evidence/report \
-H 'Content-Type: application/json' -d '{"format":"markdown"}'
# JSON или CSV
curl -s -X POST http://localhost:3000/api/evidence/report -d '{"format":"csv"}'
# Сопоставленные области контроля: Управление доступом, Логирование и мониторинг,
# Безопасная разработка, Управление секретами, Управление изменениями,
# Управление конфигурациями, Защита данных, Реагирование на инциденты.
⚠️ Это широкая привязка к областям контроля для изучения обнаружения/GRC. Она не подтверждает соответствие какому-либо стандарту.
| Панель треков | Цепочка атак |
| Вид защитника | Отчёт с доказательствами |
🎬 Демо-гифка: docs/demo.gif — см. docs/DEMO_WALKTHROUGH.md для сценария докладчика на ~6 минут. (Замените заглушки своими скриншотами в docs/screenshots/ и docs/demo.gif.)
Эта лаборатория намеренно уязвима. Запускайте её только в изолированных средах и никогда не подвергайте воздействию интернета.
127.0.0.1 (HOST=127.0.0.1 в backend/.env).HOST=0.0.0.0 вызывает громкое предупреждение; в UI отображается баннер опасности.├── start_lab.py # Запуск одной командой (зависимости + наполнение + запуск)
├── demo_exploit.py # Безопасное локальное демо эксплуатации (5 задач)
├── docker-compose.yml # Публикация только на localhost
├── Makefile # install / start / reset / test / demo / docker
├── CHALLENGES.md # Полный каталог задач
├── frontend/ # UI панели (треки, цепочка, защитник, доказательства)
├── backend/
│ ├── server.js # Express-приложение, привязка к localhost, подключение маршрутов
│ ├── challenges/registry.js # ЦЕНТРАЛЬНЫЙ реестр задач (50 задач)
│ ├── ai/ # ПРОЗРАЧНЫЙ AI-симулятор + RAG-хранилище (без внешней LLM)
│ ├── utils/events.js # ЦЕНТРАЛЬНОЕ хранилище событий + лента Blue Team
│ ├── routes/ # Уязвимые + режимные маршруты (api, cloud, ai, shop, ...)
│ ├── scripts/ # init-db, seed, reset, test_routes
│ └── middleware/ # auth (безопасный), auth.vulnerable, waf, security
├── solutions/ # Описания эксплуатации на Python
└── docs/ # SECURITY_REPORT, SETUP, DEMO_WALKTHROUGH
Нашли ошибку или хотите добавить задачу? PR приветствуются.
backend/challenges/registry.js (единый источник истины).events.captureFlag({ flag, req }) из уязвимого маршрута.make test и make verify-registry перед отправкой.Только для образовательного использования. См. LICENSE, если присутствует. Используйте только против систем, которыми владеете или на которые имеете явное разрешение — здесь это означает данную локальную лабораторию.
Если эта лаборатория помогла вам узнать что-то новое:
| Трек | Что изучаете | # |
|---|
| ◆ Веб-пентест | SQLi, IDOR, загрузка файлов, path traversal, обход WAF | 14 |
| ◆ Безопасность API | BOLA, массовое присваивание, обход ограничения скорости, вебхуки, GraphQL, отражение CORS, NoSQL-инъекции | 7 |
| ◆ Аутентификация и сессии | JWT kid/alg путаница, повторное использование refresh-токена, токены сброса, фиксация, MFA, отравление сброса через host-header | 9 |
| ◆ Облако / DevOps | Утечка .env, SSRF-метаданные, отладка Docker, публичное хранилище, токены CI/CD | 5 |
| ◆ Безопасность AI | Инъекции промптов, косвенные инъекции, утечка/отравление RAG, вызовы инструментов, многошаговый джейлбрейк, обход фильтра вывода | 7 |
| ◆ Бизнес-логика | Стекинг купонов, отрицательное количество, гонки, обход оплаты | 5 |
| ◆ Цепочка атак | Направляемый сквозной путь + унаследованная полная цепочка RCE с доказательствами | 2 |
| ◆ Сбор доказательств Blue Team | Обнаружение атак и создание GRC-отчёта | 1 |
| 50 |