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-2022-20866 — Verificador de Chaves RSA para CVE-2022-20866 | Kitploit
Ferramentas/GitHubGitHub/ciscopsirt/cve-2022-20866
Ferramentas de Criptografia/DescriptografiaAnálise de VulnerabilidadesSegurança de RedeCriptografiaSegurança de Hardware
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

Verificador de Chaves RSA para CVE-2022-20866

Ver Repositório
724há 4 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

Verificador de Chave RSA para CVE-2022-20866

Uma vulnerabilidade no tratamento de chaves RSA em dispositivos que executam o Cisco Adaptive Security Appliance Software e o Firepower Threat Defense Software poderia permitir que um invasor remoto não autenticado recuperasse a chave privada RSA. Essa vulnerabilidade se deve a um erro lógico quando a chave RSA é armazenada na memória em uma plataforma de hardware que realiza criptografia baseada em hardware. Um invasor poderia explorar essa vulnerabilidade usando um ataque de canal lateral Lenstra contra o dispositivo alvo. Uma exploração bem-sucedida poderia permitir que o invasor recuperasse a chave privada RSA.

As seguintes condições podem ser observadas em um dispositivo vulnerável:

  • A chave RSA pode estar malformada e inválida. A chave RSA malformada não é funcional e uma conexão de cliente TLS a um dispositivo Cisco ASA ou FTD que usa a chave RSA malformada resultará em uma falha de assinatura TLS, o que significa que uma versão de software vulnerável criou uma assinatura RSA inválida que falha na verificação. Se um invasor obtiver a chave privada RSA, essa chave poderá ser usada para se passar por um dispositivo Cisco ASA ou FTD.
  • A chave RSA pode ser válida, mas ter características específicas que a tornam vulnerável ao possível vazamento da chave privada RSA. Se um invasor obtiver a chave privada RSA, essa chave poderá ser usada para se passar por um dispositivo Cisco ASA ou FTD. Consulte a seção Indicadores de Comprometimento do advisory de segurança para obter mais informações sobre a detecção deste tipo de chave RSA.

Esta ferramenta permite verificar a chave RSA privada em dispositivos Cisco ASA ou FTD.

O advisory de segurança da Cisco está disponível no seguinte link: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

Como Usar a Ferramenta Verificador de Chave RSA

O objetivo da ferramenta key_check.py é analisar chaves exportadas de ASA ou FTD quanto à suscetibilidade à "Vulnerabilidade de Vazamento de Chave Privada RSA da Cisco (CVE-2022-20866)".

Requisitos do sistema

O key_check.py é uma ferramenta apoiada pela comunidade que é executada no ambiente shell Linux e possui as seguintes dependências:

  • Python 3
  • Ferramenta de linha de comando OpenSSL

Plataformas suportadas

Esta ferramenta foi projetada para ser independente de plataforma e foi testada nas seguintes configurações de plataforma:

  • MacOS Monterey 12.4, LibreSSL 2.8.3
  • MacOS Catalina 10.15.7, LibreSSL 2.8.3
  • Red Hat Enterprise Linux 7.6 (Maipo), OpenSSL 1.0.2k-fips
  • Red Hat Enterprise Linux 9, OpenSSL 3.0.1
  • Red Hat Enterprise Linux 8, OpenSSL 1.1.1k
  • Ubuntu 16.04, OpenSSL 1.0.2g
  • Ubuntu 18.04, OpenSSL 1.1.1
  • Ubuntu 20.04 LTS, OpenSSL 1.1.1f
  • Ubuntu 22.04 LTS, OpenSSL 3.0.2

Interface de comando da ferramenta

Sintaxe:

root@kitploit:~
    key_check.py [-h] --pkcs12 PKCS12 [--passwd PASSWD]

Parâmetros:

root@kitploit:~
    -h 
        exibe informações de ajuda
    --pkcs12 
        O nome do arquivo contendo a chave a ser analisada no formato
     	PKCS12 codificado em base64. Este arquivo é exportado do dispositivo ASA
        ou FTD usando o procedimento descrito abaixo.
    --passwd 
        A senha necessária para descriptografar o PKCS12. Este é o 
        mesmo valor que foi inserido na CLI do ASA ou FTD durante a
        exportação da chave. Se esta opção não for especificada, a
        ferramenta solicitará a senha.

Exportação de chave no ASA

Esta seção descreve como exportar uma chave do dispositivo ASA. Este procedimento precisará ser seguido para cada chave que será analisada. Existem 2 cenários:

  1. O par de chaves é usado em um certificado trustpoint do ASA

Trustpoints permitem gerenciar e rastrear Autoridades Certificadoras (CAs) e certificados. Um trustpoint é uma representação de um par CA ou de identidade. Um trustpoint inclui a identidade da CA, parâmetros de configuração específicos da CA e uma associação com um certificado de identidade inscrito. Se o par de chaves for usado em um certificado configurado no ASA, então o par de chaves pode ser exportado digitando:

root@kitploit:~
# asa(config)# crypto ca export <tpname> pkcs12 test

onde é o nome do trustpoint.

  1. O par de chaves não é usado em um certificado trustpoint do ASA

Se a chave não estiver presente em um certificado configurado no ASA, então um trustpoint temporário precisa ser criado e inscrito com um certificado autoassinado.

Assuma que keyname é o nome do par de chaves a ser exportado. Assuma que temptp é um nome usado para um trustpoint temporário.

root@kitploit:~
# asa(config)# crypto ca trustpoint temptp
# asa(config-ca-trustpoint)# keypair keyname
# asa(config-ca-trustpoint)# subject-name cn=temp
# asa(config-ca-trustpoint)# no serial-number
# asa(config-ca-trustpoint)# enroll self
# asa(config-ca-trustpoint)# crypto ca enroll temp noconfirm

Agora gere o PKCS12:

root@kitploit:~
# asa(config)# crypto ca export xtp pkcs12 test 

Os dois procedimentos acima (1, 2) irão despejar um p12 codificado em base64 com senha "test" no console. Coloque todas as linhas de saída em um arquivo de texto. Este arquivo será usado como entrada para a ferramenta.

Exportação de chave no FTD

Em dispositivos FTD, o procedimento requer o uso do FMC da seguinte forma. Observe que as chaves não são gerenciáveis independentemente no FTD, portanto, todas as chaves devem ter um certificado associado.

  • Vá para devices / certificates
  • Clique no ícone de exportação do certificado desejado sob o dispositivo desejado.
  • Selecione o botão de rádio PKCS12
  • Digite uma frase secreta em ambas as caixas e pressione OK
  • Baixe o arquivo PKCS12

Entrada da ferramenta

O seguinte é incluído para fins de validação visual de como devem ser os conteúdos de um arquivo PKCS12 exportado:

root@kitploit:~
-----BEGIN PKCS12-----
MIIJvwIBAzCCCXUGCSqGSIb3DQEHAaCCCWYEggliMIIJXjCCA78GCSqGSIb3DQEH
BqCCA7AwggOsAgEAMIIDpQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIwsRZ

             <linhas omitidas>

geRPZxLUjt8nsc0bbrmEkXJ/27EbUm43UkioncY7JJwwQTAxMA0GCWCGSAFlAwQC
AQUABCAMZ7IR6nXHNbZ5zdtVAQX90VZyu2pvnJpiYgWWEf+WngQI9H/zlSTGKeAC
AggA
-----END PKCS12-----

Executando o script

O uso da ferramenta é mostrado através dos seguintes exemplos que demonstram todos os resultados possíveis.

  1. Chave válida normal
root@kitploit:~
linux>  ./key_check.py --passwd test --pkcs12 valid_normal.p12.b64

The RSA key is valid.
  1. Chave válida com características de exposição
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 valid_short.p12.b64

The RSA key is valid but is vulnerable to exposure if used in product versions that are affected by the Cisco Private Key Leak Vulnerability (CVE-2022-20866). If this was done, this key should no longer be used.

  1. Chave inválida sem características de vulnerabilidade
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_not_vulnerable.p12.b64

The RSA key is invalid due to the Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866) but does not have known exposure characteristics. It is recommended that this key be replaced.

  1. Chave inválida vulnerável
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_vulnerable.p12.b64

The RSA key is invalid and vulnerable to exposure due to the Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866). This key should no longer be used.

  1. Senha inválida
root@kitploit:~
linux> ./key_check.py --passwd test2 --pkcs12 valid_normal.p12.b64

ERROR:  Mac verify error: invalid password?
  1. Arquivo de entrada inválido
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 bad_file.txt

ERROR:  139710534743952:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:157:
  1. Chave válida mas não RSA
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 ecdsa.p12.b64

ERROR:  140300676220816:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:p_lib.c:287:
Baixar ferramenta