Современный киберполигон с 50 практическими заданиями по направлениям безопасности: веб, API, облачные технологии, ИИ и blue-team. Включает направленные цепочки атак, прозрачный симулятор ИИ и отчеты по GRC-доказательствам для изучения методов пентеста и защиты.
Современное уязвимое приложение и киберполигон для изучения безопасности веб-приложений, API, облака, ИИ и защиты (blue team) через практические цепочки атак.
╔═══════════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗███╗ ██╗████████╗███████╗███████╗████████╗ ║
║ ██╔══██╗██╔════╝████╗ ██║╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝ ║
║ ██████╔╝█████╗ ██╔██╗ ██║ ██║ █████╗ ███████╗ ██║ ║
║ ██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║ ██╔══╝ ╚════██║ ██║ ║
║ ██║ ███████╗██║ ╚████║ ██║ ███████╗███████║ ██║ ║
║ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ║
║ СОВРЕМЕННЫЙ КИБЕРПОЛИГОН · 53 ЗАДАЧИ · 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
| Направление | Чему вы научитесь | # |
|---|---|---|
| ◆ Web App Pentest | SQLi, IDOR, загрузка файлов, path traversal, обход WAF | 14 |
| ◆ API Security | BOLA, mass assignment, обход rate-limit, webhooks, GraphQL, отражение CORS, NoSQL-инъекции | 7 |
| ◆ Auth & Session | JWT kid/alg confusion, повторное использование refresh-токенов, токены сброса, фиксация сессии, MFA, отравление host-header при сбросе пароля | 9 |
| ◆ Cloud / DevOps | Утечка .env, SSRF-метаданные, docker debug, публичное хранилище, CI/CD-токены | 5 |
| ◆ AI Security | prompt injection, непрямая инъекция, утечка/отравление RAG, вызовы инструментов, многоходовой jailbreak, обход фильтров вывода и трёхуровневые аудит-упражнения | 10 |
| ◆ Business Logic | Стекирование купонов, отрицательное количество, гонки (race conditions), обход оплаты | 5 |
| ◆ Attack Chain | Управляемый сквозной путь + устаревшая полная цепочка RCE с доказательствами | 2 |
| ◆ Blue Team Evidence | Обнаружение атак и генерация GRC-отчёта | 1 |
| 53 |
Каждая задача содержит: id, название, направление, категорию, сложность, цель, уязвимую конечную точку, концепцию эксплуатации, 3 прогрессивные подсказки (общая → конкретная → ответ), флаг, меры устранения, заметки по обнаружению/доказательствам, сопоставленную область контроля и список ресурсов «изучи перед решением».
Нажмите на карточку любой задачи, чтобы открыть модальное окно. Оно даёт вам:
Реалистичная, полностью локальная цепочка из шести обнаруживаемых шагов:
Recon → Information Disclosure → Credential/Token Abuse →
Privilege Escalation → Sensitive Data Access → Evidence Report
B=http://127.0.0.1:3000
curl -s $B/api/attack-chain/recon # 1. debug-эндпоинт раскрывает маршруты
curl -s $B/api/attack-chain/leak # 2. утёкший фейковый JWT-секрет (weak123)
# 3. подделать admin-токен -> 4. повысить привилегии -> 5. прочитать фейковые записи клиентов -> 6. отчёт
curl -s $B/api/attack-chain/progress
Отслеживайте прогресс в реальном времени на вкладке Attack Chain.
Вкладка Defender показывает ту же активность, которую только что выполнил атакующий: последние события, неудачные входы, подозрительный доступ к 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 \
-H 'Content-Type: application/json' -d '{"format":"csv"}'
# Сопоставленные области контроля: Access Control, Logging & Monitoring,
# Secure Development, Secrets Management, Change Management,
# Configuration Management, Data Protection, Incident Response.
⚠️ Это широкое сопоставление с областями контроля для обучения обнаружению/GRC. Оно не подтверждает соответствие какому-либо стандарту.
Репозиторий не содержит скриншотов или записанного GIF. Если вы создадите
локальные демо-материалы, поместите их в docs/screenshots/ и задокументируйте
процесс захвата рядом с ними. Готовый к презентации
docs/DEMO_WALKTHROUGH.md — это поддерживаемый демо-сценарий.
Эта лаборатория намеренно уязвима. Запускайте её только в изолированных средах и никогда не выставляйте в интернет.
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 # ЦЕНТРАЛЬНЫЙ реестр задач (53 задачи)
│ ├── 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/ # руководства по установке, инструментам, демо и цепочкам атак
Нашли баг или хотите добавить задачу? PR приветствуются.
backend/challenges/registry.js (единый источник истины).events.captureFlag({ flag, req }) из уязвимого маршрута.make test и make verify-registry перед отправкой.Только для образовательного использования. См. LICENSE, если присутствует. Используйте только против систем, которыми
вы владеете или на тестирование которых у вас есть явное разрешение — здесь это означает эту локальную лабораторию.
Если эта лаборатория помогла вам узнать что-то новое: