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

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

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

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

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

Категории

Все категории
Loading categories
MUT-BC-SS-01 — Мутационное тестирование проверки сертификатов X.509 в OpenSSL v.1.1.1h, на основе CVE-2021-3450. | Kitploit
Инструменты/GitHubGitHub/dedellix/mut-bc-ss-01
Анализ уязвимостейАнализ КодаФаззингКриптографияСтатьи и ИсследованияОбучение и Образование
GitHubdedellix/mut-bc-ss-01

MUT-BC-SS-01

Мутационное тестирование проверки сертификатов X.509 в OpenSSL v.1.1.1h, на основе CVE-2021-3450.

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

Популярное

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

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

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

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

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

MUT-BC-SS-01: Мутационное тестирование X.509 BasicConstraints в OpenSSL

Обзор

Этот репозиторий реализует эксперимент по мутационному тестированию, управляемый спецификацией, нацеленный на поведение проверки X.509-сертификатов в OpenSSL.

Эксперимент основан на мутационном операторе:

MUT-BC-SS-01

который модифицирует расширение BasicConstraints:

CA:TRUE → CA:FALSE

Цель — оценить, корректно ли проверка сертификатов обеспечивает соблюдение требований RFC 5280, и исследовать поведение, связанное с классом уязвимостей, представленным CVE-2021-3450.


Структура репозитория

MUT-BC-SS-01/
│
│
├── configs/
│   ├── ca.cnf
│   └── leaf.cnf
│
├── src/
│   └── poc.c
|   └── poc_fixed.c
│
├── check_prerequisites.sh
├── install_openssl111h.sh
├── environment.sh
├── generate_certs.sh
├── build.sh
├── run.sh
├── build_version3.sh
├── run_version3.sh
│
│
└── README.md

Описание эксперимента

Эксперимент создаёт следующую цепочку сертификатов:

Root CA (CA:TRUE)
        │
        ▼
Mutant Intermediate (CA:FALSE)
        │
        ▼
Subleaf Certificate

Мутантный сертификат намеренно настроен со значением:

basicConstraints = CA:FALSE

при этом он по-прежнему используется для подписи другого сертификата.

Тестовый стенд проверки оценивает, корректно ли OpenSSL отклоняет эту недействительную цепочку.


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

Эксперимент тестировался на Linux-системах с использованием:

  • GCC
  • GNU Make
  • Perl
  • инструментов сборки исходных кодов OpenSSL

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

1. Клонирование репозитория

git clone https://github.com/dedellix/MUT-BC-SS-01.git
cd MUT-BC-SS-01

2. Сделать скрипты исполняемыми

chmod +x *.sh

3. Проверка и установка зависимостей

./check_prerequisites.sh

Этот скрипт проверяет наличие требуемых пакетов и автоматически устанавливает недостающие зависимости.

Требуемые пакеты включают:

  • build-essential
  • gcc
  • g++
  • make
  • perl
  • wget
  • curl
  • git
  • tar
  • gzip
  • zlib1g-dev
  • libssl-dev

4. Установка OpenSSL 1.1.1h

./install_openssl111h.sh

Этот скрипт загружает, собирает и устанавливает OpenSSL 1.1.1h локально в:

$HOME/openssl-1.1.1h-install

Системные файлы OpenSSL не изменяются.

5. Настройка окружения

./environment.sh

Этот скрипт настраивает:

LD_LIBRARY_PATH

и проверяет, что загружены корректные библиотеки OpenSSL.

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

./generate_certs.sh

Этот скрипт генерирует:

  • корневой ЦС
  • мутантный промежуточный сертификат
  • конечный сертификат

и сохраняет их в:

certs/

7. Сборка Proof-of-Concept

./build.sh
./build_version3.sh

Этот скрипт компилирует:

src/poc.c

и создаёт:

./poc

в корневом каталоге проекта.

8. Запуск эксперимента

./run.sh
./run_version3.sh

или напрямую:

./poc

Пересборка с нуля

Чтобы полностью удалить сгенерированные артефакты:

rm -rf certs
rm -f poc

Чтобы удалить локальную установку OpenSSL:

rm -rf $HOME/openssl-1.1.1h-install
rm -rf tls-test

Чтобы очистить переменные окружения:

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