Skip to content
KitploitKITPLOIT
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2022-0778-POC — Prueba de concepto remota para CVE-2022-0778 que inyecta un certificado manipulado en un handshake TLS para desencadenar la vulnerabilidad de denegación de servicio OpenSSL BN_mod_sqrt(). | Kitploit
Herramientas/GitHubGitHub/jkakavas/cve-2022-0778-poc
Análisis de VulnerabilidadesExplotaciónFuzzingPruebas de Penetración
GitHubjkakavas/cve-2022-0778-poc

CVE-2022-0778-POC

Prueba de concepto remota para CVE-2022-0778 que inyecta un certificado manipulado en un handshake TLS para desencadenar la vulnerabilidad de denegación de servicio OpenSSL BN_mod_sqrt().

Ver Repositorio
11324hace 4 añosAú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

Un POC sencillo de activación remota para CVE-2022-0778

Por qué

Mientras intentábamos validar si las implementaciones de servidor de nuestro lado eran/son vulnerables a CVE-2022-0778, resultó extremadamente engorroso hacerlo de forma remota. Las instrucciones para crear certificados maliciosamente diseñados para activar el error de análisis en BN_nod_sqrt() han estado disponibles desde hace un tiempo, pero el problema principal es que la mayoría de las implementaciones de clientes intentarían analizar el certificado del cliente para usarlo en el handshake TLS. Esto a su vez significaba que:

  • si la implementación era vulnerable, el error se activaría y el cliente consumiría el 100% de CPU y se detendría.
  • si la implementación no era vulnerable, el certificado no podía analizarse y el cliente, con razón, finalizaría.

Qué

Lo que realmente se necesitaba era poder inyectar un mensaje en el handshake TLS para poder reemplazar el contenido del mensaje Certificate que el cliente envía al servidor en respuesta al mensaje CertificateRequest.

Cómo

Esto depende de tlslite-ng y sobrescribe el método TLSConnection._clientKeyExchange para que durante un handshake TLS con un servidor posiblemente vulnerable:

  1. Enviemos un mensaje ClientHello como lo haríamos normalmente
  2. Consumamos el ServerHelloMessage y comprobemos si contiene un CertificateRequest
  • Si es así, construimos un mensaje Certificate arbitrario, cargando el certificado manipulado codificado en DER desde el disco
  • Enviamos el mensaje manipulado al servidor y esperamos que lo analice, lo que posiblemente active CVE-2022-0778
  • El archivo crafted.crt se crea siguiendo las instrucciones en https://github.com/drago-96/CVE-2022-0778#using-asn1-templates, siéntase libre de recrearlo si lo desea.

    Uso

    root@kitploit:~
    usage: main.py [-h] [--server SERVER] [--port PORT]
    
    Parameters
    
    optional arguments:
      -h, --help       show this help message and exit
      --server SERVER  Name of the server to connect for the TLS handshake,
                       defaults to "localhost"
      --port PORT      Port where server listens for TLS connections, defaults to
                       "443"
    
    Descargar herramienta