
CurveBall CVE explotación
Este script de Ruby se puede utilizar para suplantar una autoridad de certificación legítima y generar un certificado que será considerado válido para equipos Windows afectados por la vulnerabilidad CurveBall.
Necesitas obtener un certificado proveniente de la autoridad de certificación que quieras suplantar.
Luego, puedes ejecutar el script con el siguiente comando:
ruby gen-rogue-cert.rb -in=ca.crt -subj="/C=France/ST=IleDeFrance/L=Paris/O=YoannDqr" -out=cert_rb.p12 -exe=DoNotDebugMe.exe -sh -type=exe -sh | bash
El script se puede utilizar para generar ejecutables PE firmados, así como certificados para servidores TLS.
-in : obligatorio ; ruta al certificado CA de confianza a suplantar
-out : obligatorio ; ruta para almacenar el certificado generado
-type : obligatorio ; puede ser 'exe' para certificado de firma de código o 'tls' para certificado de autenticación de servidor y cliente
-exe : opcional ; nombre del ejecutable a firmar
-subj : opcional ; asunto del certificado generado
-sh : flag opcional ; devuelve solo el comando bash necesario para usar el certificado (ej : línea de comandos para firmar un ejecutable)
El script se basa en la librería OpenSSL de Ruby https://github.com/ruby/openssl.
Generará una CA falsa a partir de la clave pública encontrada en el certificado de entrada. Luego, generará una solicitud de firma de certificado y la firmará con el certificado CA falso. El certificado se empaquetará en un archivo pcks12 y se guardará en tu equipo.
Para añadir funciones como la generación de certificados TLS, solo modifica las extensiones del certificado generado a partir de la solicitud de firma de certificado.
csr_cert.add_extension(extension_factory.create_extension('extendedKeyUsage', 'codeSigning'))csr_cert.add_extension(extension_factory.create_extension('extendedKeyUsage', 'serverAuth, clientAuth'))