Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
MUT-BC-SS-01 — Pruebas de mutación en la validación de certificados X.509 en OpenSSL v.1.1.1h, basado en CVE-2021-3450. | Kitploit
Herramientas/GitHubGitHub/dedellix/mut-bc-ss-01
Análisis de VulnerabilidadesAnálisis de CódigoFuzzingCriptografíaPapers e InvestigaciónAprendizaje y Educación
GitHubdedellix/mut-bc-ss-01

MUT-BC-SS-01

Pruebas de mutación en la validación de certificados X.509 en OpenSSL v.1.1.1h, basado en CVE-2021-3450.

Ver Repositorio
11hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

MUT-BC-SS-01: Pruebas de Mutación de BasicConstraints X.509 en OpenSSL

Resumen

Este repositorio implementa un experimento de pruebas de mutación basado en especificaciones, dirigido al comportamiento de validación de certificados X.509 en OpenSSL.

El experimento se basa en el operador de mutación:

MUT-BC-SS-01

que modifica la extensión BasicConstraints:

CA:TRUE → CA:FALSE

El objetivo es evaluar si la validación de certificados aplica correctamente los requisitos de RFC 5280 e investigar el comportamiento relacionado con la clase de vulnerabilidad representada por CVE-2021-3450.


Estructura del repositorio

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

Descripción del experimento

El experimento crea la siguiente cadena de certificados:

CA raíz (CA:TRUE)
        │
        ▼
Intermedio mutante (CA:FALSE)
        │
        ▼
Certificado subhoja

El certificado mutante se configura intencionadamente con:

basicConstraints = CA:FALSE

mientras que aún se utiliza para firmar otro certificado.

El entorno de validación evalúa si OpenSSL rechaza correctamente esta cadena inválida.


Requisitos del sistema

El experimento se probó en sistemas Linux utilizando:

  • GCC
  • GNU Make
  • Perl
  • Herramientas de compilación de OpenSSL desde el código fuente

Inicio rápido

1. Clonar el repositorio

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

2. Hacer ejecutables los scripts

chmod +x *.sh

3. Verificar e instalar requisitos previos

./check_prerequisites.sh

Este script verifica los paquetes necesarios e instala automáticamente las dependencias faltantes.

Los paquetes requeridos incluyen:

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

4. Instalar OpenSSL 1.1.1h

./install_openssl111h.sh

Esto descarga, compila e instala OpenSSL 1.1.1h localmente en:

$HOME/openssl-1.1.1h-install

No se modifican los archivos del sistema de OpenSSL.

5. Configurar el entorno

./environment.sh

Esto configura:

LD_LIBRARY_PATH

y verifica que se carguen las bibliotecas correctas de OpenSSL.

6. Generar certificados

./generate_certs.sh

Esto genera:

  • CA raíz
  • Certificado intermedio mutante
  • Certificado subhoja

y los almacena en:

certs/

7. Compilar la prueba de concepto

./build.sh
./build_version3.sh

Esto compila:

src/poc.c

y produce:

./poc

en el directorio raíz del proyecto.

8. Ejecutar el experimento

./run.sh
./run_version3.sh

o directamente:

./poc

Reconstrucción desde cero

Para eliminar completamente los artefactos generados:

rm -rf certs
rm -f poc

Para eliminar la instalación local de OpenSSL:

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

Para limpiar las variables de entorno:

unset LD_LIBRARY_PATH
unset OPENSSL111H
Descargar herramienta