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
CVE-2020-1971 — CVE-2020-1971 Script di scansione automatica ed exploit remoto. Script di scansione automatica locale e patch. | Kitploit
Strumenti/GitHubGitHub/mbhudson/cve-2020-1971
Analisi delle VulnerabilitàExploitScripting e AutomazioneCrittografiaApprendimento e Formazione
GitHubmbhudson/cve-2020-1971

CVE-2020-1971

CVE-2020-1971 Script di scansione automatica ed exploit remoto. Script di scansione automatica locale e patch.

Vedi Repository
725 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

CVE-2020-1971

CVE-2020-1971 Script di scansione automatica e sfruttamento remoto. Script di scansione locale automatica e patch.

Attualmente in sviluppo

  • Codice sorgente corretto di OpenSSL 1.1.1i
  • Script di installazione da sorgente/aggiornamento .deb Attualmente in sviluppo 5:38pm Completato 5:50pm
  • Installazione da sorgente/aggiornamento (Windows) Attualmente in sviluppo 6:06pm Completato 6:40pm
  • EXE autoestraenti Scarica qui: 32-bit/64-bit
  • Scansione automatica per vulnerabilità/script di sfruttamento remoto (Locale)
  • Scansione automatica per vulnerabilità/script di sfruttamento remoto (Remoto)

9 Dicembre 2020

5:03pm

Sto attualmente sviluppando gli script e spero di avere tutto pronto per stasera. Per ora questo repository contiene solo il codice sorgente corretto di OpenSLL 1.1.1i. Attualmente sto lavorando a uno script di installazione/aggiornamento della patch.


5:50pm

Script di installazione per Debian/Ubuntu Linux caricato. Per le istruzioni di installazione consultare "Installazione Linux"


6:40pm

  1. Istruzioni per l'installazione di Windows da codice sorgente in Installazione Windows da Codice Sorgente
  2. Self-Installer 32/64 bit caricato Scarica qui: 32-bit/64-bit

Descrizione della Vulnerabilità

Il tipo X.509 GeneralName è un tipo generico per rappresentare diversi tipi di nomi. Uno di questi tipi di nome è conosciuto come EDIPartyName. OpenSSL fornisce una funzione GENERAL_NAME_cmp che confronta diverse istanze di GENERAL_NAME per vedere se sono uguali o meno. Questa funzione si comporta in modo errato quando entrambi i GENERAL_NAME contengono un EDIPARTYNAME. Potrebbero verificarsi un dereferenziamento di puntatore NULL e un crash, portando a un possibile attacco denial of service.

OpenSSL stesso utilizza la funzione GENERAL_NAME_cmp per due scopi

  1. Confrontare i nomi dei punti di distribuzione CRL tra una CRL disponibile e un punto di distribuzione CRL incorporato in un certificato X509

  2. Quando si verifica che il firmatario di un token di risposta timestamp corrisponda al nome dell'autorità timestamp (esposto tramite le funzioni API TS_RESP_verify_response e TS_RESP_verify_token)

Se un attaccante può controllare entrambi gli elementi confrontati, allora potrebbe innescare un crash. Ad esempio, se l'attaccante riesce a indurre un client o un server a controllare un certificato malevolo contro una CRL malevola, allora questo potrebbe verificarsi.

Si noti che alcune applicazioni scaricano automaticamente le CRL basate su un URL incorporato in un certificato. Questo controllo avviene prima che le firme sul certificato e sulla CRL vengano verificate. Gli strumenti s_server, s_client e verify di OpenSSL supportano l'opzione "-crl_download" che implementa lo scaricamento automatico delle CRL e questo attacco è stato dimostrato funzionare contro questi strumenti.

Si noti che un bug non correlato significa che le versioni affette di OpenSSL non possono analizzare o costruire codifiche corrette di EDIPARTYNAME. Tuttavia è possibile costruire un EDIPARTYNAME malformato che il parser di OpenSSL accetterà e quindi innescare questo attacco.

Tutte le versioni di OpenSSL 1.1.1 e 1.0.2 sono affette da questo problema. Altre release di OpenSSL non sono più supportate e non sono state controllate. Risolto in OpenSSL 1.1.1i (Affette 1.1.1-1.1.1h). Risolto in OpenSSL 1.0.2x (Affette 1.0.2-1.0.2w).


Installazione Linux

root@kitploit:~
sudo chmod +x Linux_Patched_Install_From_Source_Script

Esegui:

root@kitploit:~
sudo ./Linux_Patched_Install_From_Source_Script

Installazione Windows da Codice Sorgente

"Native" OpenSSL utilizza direttamente le API di Windows in fase di esecuzione. Per costruire un OpenSSL nativo puoi usare:

Microsoft Visual C++ (MSVC) C compiler on the command line

or

MinGW cross compiler run on the GNU-like development environment MSYS2 or run on Linux or Cygwin

"Hosted" OpenSSL si basa su un livello di compatibilità POSIX esterno per la costruzione (utilizzando shell, compilatore e strumenti GNU/Unix) e in fase di esecuzione. Per questa opzione puoi usare Cygwin.

Build native Visual C++, aka VC-*

Dettagli requisiti

Oltre ai requisiti e alle istruzioni elencati in INSTALL.md, sono necessari anche:

  • Perl. Strawberry Perl, disponibile su http://strawberryperl.com/ Si prega di leggere NOTES.PERL per maggiori informazioni, incluso l'uso di CPAN. Un'alternativa è ActiveState Perl, https://www.activestate.com/ActivePerl per cui potrebbe essere necessario costruire esplicitamente il modulo Perl Win32/Console.pm tramite https://platform.activestate.com/ActiveState e poi scaricarlo.

  • Compilatore Microsoft Visual C.

  • Netwide Assembler (NASM), disponibile su https://www.nasm.us Nota che NASM è l'unico assembler supportato.

Avvio rapido

  1. Installa Perl

  2. Installa NASM

  3. Assicurati che Perl e NASM siano nel tuo %PATH%

  4. Usa il Prompt dei comandi per sviluppatori di Visual Studio con privilegi amministrativi, scegliendo una delle sue varianti in base all'architettura desiderata. Oppure esegui "cmd" e "vcvarsall.bat" con una delle opzioni x86, x86_amd64, x86_arm, x86_arm64, amd64, amd64_x86, amd64_arm, o amd64_arm64. Questo imposta le variabili d'ambiente necessarie per nmake.exe, cl.exe, ecc. Vedi anche https://docs.microsoft.com/cpp/build/building-on-the-command-line

  5. Dalla radice della directory sorgente di OpenSSL esegui perl Configure VC-WIN32 se vuoi OpenSSL a 32 bit o perl Configure VC-WIN64A se vuoi OpenSSL a 64 bit o perl Configure per lasciare che Configure determini la piattaforma

  6. nmake

  7. nmake test

  8. nmake install

Per le istruzioni complete di installazione, o se qualcosa va storto in qualsiasi fase, consulta il file INSTALL.md.

Directory di installazione

Le directory di installazione predefinite derivano dalle variabili d'ambiente.

Per VC-WIN32, vengono utilizzati i seguenti valori predefiniti:

root@kitploit:~
 PREFIX:      %ProgramFiles(86)%\OpenSSL
 OPENSSLDIR:  %CommonProgramFiles(86)%\SSL

Per VC-WIN64, vengono utilizzati i seguenti valori predefiniti:

root@kitploit:~
 PREFIX:      %ProgramW6432%\OpenSSL
 OPENSSLDIR:  %CommonProgramW6432%\SSL

Se queste variabili d'ambiente non esistono (ad esempio in un'installazione pura Win32), vengono utilizzati questi fallback:

root@kitploit:~
 PREFIX:      %ProgramFiles%\OpenSSL
 OPENSSLDIR:  %CommonProgramFiles%\SSL

NOTA ANCHE che queste directory sono solitamente protette in scrittura, anche se il tuo account è nel gruppo Administrators. Per ovviare a ciò, avvia il prompt dei comandi facendo clic destro e scegliendo "Esegui come amministratore" prima di eseguire 'nmake install'. L'altra soluzione è, ovviamente, scegliere un insieme diverso di directory usando --prefix e --openssldir durante la configurazione.

Note speciali per build Universal Windows Platform, aka VC-*-UWP

  • I target UWP supportano solo la creazione delle librerie statiche e dinamiche.

  • Dovresti definire il tipo di piattaforma come "uwp" e l'architettura target tramite "vcvarsall.bat" prima di compilare. Ad esempio, se vuoi creare build "arm64", dovresti eseguire "vcvarsall.bat x86_arm64 uwp".


Riferimenti

I riferimenti sono forniti per comodità del lettore per aiutare a distinguere tra le vulnerabilità.

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=2154ab83e14ede338d2ede9bbe5cdfce5d5a6c9eURL

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=2154ab83e14ede338d2ede9bbe5cdfce5d5a6c9eCONFIRM

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=f960d81215ebf3f65e03d4d5d857fb9b666d6920URL

https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=f960d81215ebf3f65e03d4d5d857fb9b666d6920CONFIRM

https://www.openssl.org/news/secadv/20201208.txtURL:https://www.openssl.org/news/secadv/20201208.txtDEBIAN:DSA-4807URL

https://www.debian.org/security/2020/dsa-4807FREEBSD:FreeBSD-SA-20:33URL

https://security.FreeBSD.org/advisories/FreeBSD-SA-20:33.openssl.asc


Scarica lo strumento