Demo_CVE-2025-3248 — Образовательный PoC
Цель: Моделирование уязвимости (CVE-2025-3248) в изолированной среде для изучения информационной безопасности: создание лабораторного стенда, наблюдение за поведением, подверженным эксплуатации, и обсуждение мер по снижению рисков.
⚠️ ПРАВОВОЕ И ЭТИЧЕСКОЕ ЗАЯВЛЕНИЕ (ТОЛЬКО ДЛЯ ЭТИЧЕСКОГО ИСПОЛЬЗОВАНИЯ)
- Все содержимое этого репозитория предназначено только для академических/исследовательских целей.
- Категорически запрещено использовать прилагаемый исходный код/методы для вмешательства в системы, не принадлежащие вам или не имеющие письменного разрешения.
- Автор/участники не несут ответственности за любые последствия неправомерного использования.
- Используя репозиторий, вы соглашаетесь с вышеуказанными условиями.
Содержание
Введение
Репозиторий предоставляет:
- Уязвимый демонстрационный сервис, работающий в Docker (порт по умолчанию
7860).
- PoC-код (exploit.py) для отправки запросов, демонстрирующих эксплуатацию только в вашем лабораторном стенде.
- Документацию по созданию среды, запуску, наблюдению и тестированию мер защиты.
Архитектура лабораторного стенда
- Все тесты выполняются на вашей машине или в лабораторной сети, которую вы контролируете.
- Не публикуйте этот сервис в интернет.
Состав репозитория
docker-compose.yml — Развертывание контейнера уязвимого демонстрационного приложения.
exploit.py — PoC-клиент, демонстрирующий активацию ошибки (только для лабораторного стенда).
LICENSE — Лицензия на использование.
README.md — Документация, которую вы читаете.
Системные требования
- Docker и Docker Compose (плагин).
- Python 3.10+ и
pip (для запуска PoC).
- Права на запуск Docker (
sudo в Linux или пользователь в группе docker).
Быстрый запуск
A. Развертывание лабораторного стенда с помощью Docker
git clone https://github.com/Kiraly07/Demo_CVE-2025-3248.git
cd Demo_CVE-2025-3248
# Запуск демонстрационного сервиса (в фоновом режиме)
docker compose up -d
# Проверка контейнера
docker compose ps
# Просмотр логов при необходимости
docker compose logs -f
B. Установка зависимостей для PoC
python -m venv venv
# Linux/macOS
source venv/bin/activate
# Windows PowerShell
# .\venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install requests colorama argparse
(Необязательно) создайте requirements.txt:
requests
colorama
argparse
C. Запуск PoC на локальном стенде
# Базовый пример
python exploit.py -u http://[TARGET]:7860
Важное примечание: Указывайте --url только на localhost/вашу лабораторную машину. Не нацеливайтесь на объекты вне разрешенной области.
Настройка конфигурации
- Порт сервиса: измените в docker-compose.yml в разделе ports:.
- Сеть Docker: можно добавить отдельную сеть для изоляции контейнера (рекомендуется в сложных лабораторных стендах).
- Обратный прокси: при необходимости разместите за Nginx и открывайте только локально (127.0.0.1 или внутренняя сеть).
Очистка
# Остановка и удаление контейнера/томов
docker compose down -v
# (Необязательно) Удаление venv
deactivate 2>/dev/null || true
rm -rf venv
Заметки по защите / снижению рисков
- Обновляйте программное обеспечение до исправленных версий при официальных уведомлениях.
- Ограничьте поверхность атаки: открывайте только необходимые порты; размещайте за обратным прокси с аутентификацией.
- Принцип минимальных привилегий для контейнера:
- Запускайте от непривилегированного пользователя.
- Ограничьте capabilities, включите read-only root FS, если возможно.
- Изолируйте сеть, не монтируйте чувствительные диски.
- Мониторинг и журналирование: включите access log; отслеживайте подозрительные паттерны; раннее предупреждение.
- WAF/IDS/IPS: применяйте там, где уместно; всегда проверяйте входные данные (input validation).
Устранение неполадок
- Порт 7860 занят: измените маппинг порта (например, 8080:7860) в docker-compose.yml.
- Контейнер не запускается: посмотрите логи docker compose logs -f.
- Недостаточно прав Docker: используйте sudo или добавьте пользователя в группу docker.
- Ошибка установки Python-пакетов: обновите pip и проверьте прокси/межсетевой экран.
Предлагаемый план обучения
- Изучите docker-compose.yml, чтобы понять поверхность атаки/зависимости.
- Запустите PoC на локальном стенде, запишите HTTP-запросы/ответы.
- Попробуйте меры по снижению рисков, повторно запустите PoC для оценки эффективности.
- Напишите отчет: корневая причина ошибки, цепочка эксплуатации, воздействие и рекомендации.
Лицензия
- Смотрите файл LICENSE в корне репозитория.
Повторное подтверждение обязательства об этическом использовании
Этот репозиторий создан только для обучения.
Не используйте его в незаконных целях. Всегда получайте явное разрешение перед тестированием безопасности любой системы, которая вам не принадлежит.