Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2020-1971 — Script de varredura automática e exploração remota da CVE-2020-1971. Script de varredura local automática e aplicação de patch. | Kitploit
Ferramentas/GitHubGitHub/mbhudson/cve-2020-1971
Análise de VulnerabilidadesExploraçãoScripting e AutomaçãoCriptografiaAprendizado e Educação
GitHubmbhudson/cve-2020-1971

CVE-2020-1971

Script de varredura automática e exploração remota da CVE-2020-1971. Script de varredura local automática e aplicação de patch.

Ver Repositório
72há 5 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2020-1971

Script de Varredura Automática e Exploração Remota. Script de Varredura Local e Correção Automática.

Atualmente em desenvolvimento

  • Código-fonte corrigido do OpenSSL 1.1.1i
  • Script de instalação a partir do código-fonte/Atualização .deb Atualmente em desenvolvimento 17:38 Concluído 17:50
  • Instalação a partir do código-fonte/Atualização (Windows) Atualmente em desenvolvimento 18:06 Concluído 18:40
  • EXEs autoextráveis Baixe aqui: 32-bit/64-bit
  • Varredura automática de vulnerabilidade/scripts de exploração remota (Local)
  • Varredura automática de vulnerabilidade/scripts de exploração remota (Remoto)

9 de dezembro de 2020

17:03

Estou atualmente desenvolvendo os scripts e espero ter tudo pronto até esta noite. Por enquanto, este repositório contém apenas o código-fonte corrigido do OpenSSL 1.1.1i. Atualmente, estou trabalhando em um script de instalação/atualização de patch.


17:50

Script de instalação Linux Debian/Ubuntu enviado. Para instruções de instalação, veja "Instalação Linux"


18:40

  1. Instruções de instalação do Windows a partir do código-fonte em Instalação Windows a partir do código-fonte
  2. Instalador automático 32/64 bits enviado Baixe aqui: 32-bit/64-bit

Descrição da Vulnerabilidade

O tipo X.509 GeneralName é um tipo genérico para representar diferentes tipos de nomes. Um desses tipos de nome é conhecido como EDIPartyName. O OpenSSL fornece uma função GENERAL_NAME_cmp que compara diferentes instâncias de GENERAL_NAME para verificar se são iguais ou não. Esta função se comporta incorretamente quando ambos os GENERAL_NAMEs contêm um EDIPARTYNAME. Uma desreferência de ponteiro nulo e uma falha podem ocorrer, levando a uma possível negação de serviço.

O próprio OpenSSL usa a função GENERAL_NAME_cmp para dois propósitos

  1. Comparar nomes de pontos de distribuição CRL entre uma CRL disponível e um ponto de distribuição CRL embutido em um certificado X509

  2. Ao verificar se o signatário de um token de resposta de carimbo de data/hora corresponde ao nome da autoridade de carimbo de data/hora (exposto através das funções da API TS_RESP_verify_response e TS_RESP_verify_token)

Se um atacante puder controlar ambos os itens sendo comparados, ele poderá desencadear uma falha. Por exemplo, se o atacante conseguir enganar um cliente ou servidor para verificar um certificado malicioso contra uma CRL maliciosa, isso pode ocorrer.

Note que alguns aplicativos baixam automaticamente CRLs com base em uma URL embutida em um certificado. Essa verificação ocorre antes da verificação das assinaturas no certificado e na CRL serem verificadas. As ferramentas s_server, s_client e verify do OpenSSL têm suporte para a opção "-crl_download" que implementa o download automático de CRL e esse ataque foi demonstrado funcionar contra essas ferramentas.

Note que um bug não relacionado significa que as versões afetadas do OpenSSL não conseguem analisar ou construir codificações corretas de EDIPARTYNAME. No entanto, é possível construir um EDIPARTYNAME malformado que o analisador do OpenSSL aceitará e, assim, desencadear esse ataque.

Todas as versões do OpenSSL 1.1.1 e 1.0.2 são afetadas por esse problema. Outras versões do OpenSSL não recebem mais suporte e não foram verificadas. Corrigido no OpenSSL 1.1.1i (afetadas 1.1.1-1.1.1h). Corrigido no OpenSSL 1.0.2x (afetadas 1.0.2-1.0.2w).


Instalação Linux

root@kitploit:~
sudo chmod +x Linux_Patched_Install_From_Source_Script

Execute:

root@kitploit:~
sudo ./Linux_Patched_Install_From_Source_Script

Instalação Windows a partir do código-fonte

O OpenSSL "nativo" usa as APIs do Windows diretamente em tempo de execução. Para construir um OpenSSL nativo, você pode usar:

Microsoft Visual C++ (MSVC) no prompt de comando

ou

MinGW cross compiler executado no ambiente de desenvolvimento estilo GNU MSYS2 ou executado no Linux ou Cygwin

O OpenSSL "hospedado" depende de uma camada de compatibilidade POSIX externa para construção (usando shell, compilador e ferramentas GNU/Unix) e em tempo de execução. Para esta opção, você pode usar o Cygwin.

Compilações nativas Visual C++, também conhecidas como VC-*

Requisitos detalhados

Além dos requisitos e instruções listados em INSTALL.md, estes também são necessários:

  • Perl. Strawberry Perl, disponível em http://strawberryperl.com/ Leia NOTES.PERL para mais informações, incluindo o uso de CPAN. Uma alternativa é o ActiveState Perl, https://www.activestate.com/ActivePerl para o qual você pode precisar construir explicitamente o módulo Perl Win32/Console.pm via https://platform.activestate.com/ActiveState e depois baixá-lo.

  • Compilador Microsoft Visual C.

  • Netwide Assembler (NASM), disponível em https://www.nasm.us Note que o NASM é o único montador suportado.

Início rápido

  1. Instale o Perl

  2. Instale o NASM

  3. Certifique-se de que tanto o Perl quanto o NASM estejam no seu %PATH%

  4. Use o Prompt de Comando do Desenvolvedor do Visual Studio com privilégios administrativos, escolhendo uma de suas variantes dependendo da arquitetura pretendida. Ou execute "cmd" e execute "vcvarsall.bat" com uma das opções x86, x86_amd64, x86_arm, x86_arm64, amd64, amd64_x86, amd64_arm ou amd64_arm64. Isso configura as variáveis de ambiente necessárias para nmake.exe, cl.exe, etc. Veja também https://docs.microsoft.com/cpp/build/building-on-the-command-line

  5. Da raiz do diretório de origem do OpenSSL, execute perl Configure VC-WIN32 se você quiser OpenSSL 32 bits ou perl Configure VC-WIN64A se você quiser OpenSSL 64 bits ou perl Configure para deixar o Configure descobrir a plataforma

  6. nmake

  7. nmake test

  8. nmake install

Para obter as instruções completas de instalação, ou se algo der errado em qualquer etapa, verifique o arquivo INSTALL.md.

Diretórios de instalação

Os diretórios de instalação padrão são derivados de variáveis de ambiente.

Para VC-WIN32, os seguintes padrões são usados:

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

Para VC-WIN64, os seguintes padrões são usados:

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

Caso essas variáveis de ambiente não existam (em uma instalação puramente Win32, por exemplo), estes substitutos são usados:

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

NOTE TAMBÉM que esses diretórios geralmente são protegidos contra gravação, mesmo se sua conta estiver no grupo Administradores. Para contornar isso, inicie o prompt de comando clicando com o botão direito e escolhendo "Executar como Administrador" antes de executar 'nmake install'. A outra solução é, obviamente, escolher um conjunto diferente de diretórios usando --prefix e --openssldir ao configurar.

Notas especiais para compilações da Plataforma Universal do Windows, também conhecidas como VC-*-UWP

  • Os destinos UWP suportam apenas a construção das bibliotecas estática e dinâmica.

  • Você deve definir o tipo de plataforma como "uwp" e a arquitetura alvo via "vcvarsall.bat" antes de compilar. Por exemplo, se você quiser compilar compilações "arm64", execute "vcvarsall.bat x86_arm64 uwp".


Referências

Referências são fornecidas para conveniência do leitor para ajudar a distinguir entre vulnerabilidades.

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


Baixar ferramenta