Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2022-20866 — Comprobador de claves RSA para CVE-2022-20866 | Kitploit
Herramientas/GitHubGitHub/ciscopsirt/cve-2022-20866
Herramientas de Cifrado/DescifradoAnálisis de VulnerabilidadesSeguridad de RedesCriptografíaSeguridad de Hardware
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

Comprobador de claves RSA para CVE-2022-20866

Ver Repositorio
724hace 4 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Comprobador de Claves RSA para CVE-2022-20866

Una vulnerabilidad en el manejo de claves RSA en dispositivos que ejecutan el software Cisco Adaptive Security Appliance y el software Cisco Firepower Threat Defense podría permitir que un atacante remoto no autenticado recupere la clave privada RSA. Esta vulnerabilidad se debe a un error lógico cuando la clave RSA se almacena en memoria en una plataforma de hardware que realiza criptografía basada en hardware. Un atacante podría explotar esta vulnerabilidad utilizando un ataque de canal lateral de Lenstra contra el dispositivo objetivo. Una explotación exitosa podría permitir al atacante recuperar la clave privada RSA.

En un dispositivo vulnerable podrían observarse las siguientes condiciones:

  • La clave RSA podría estar malformada e inválida. La clave RSA malformada no es funcional y una conexión de cliente TLS a un dispositivo Cisco ASA o FTD que utiliza la clave RSA malformada resultará en un fallo de firma TLS, lo que significa que una versión de software vulnerable creó una firma RSA inválida que falla en la verificación. Si un atacante obtiene la clave privada RSA, dicha clave podría utilizarse para suplantar un dispositivo Cisco ASA o FTD.
  • La clave RSA podría ser válida pero tener características específicas que la hacen vulnerable a la posible filtración de la clave privada RSA. Si un atacante obtiene la clave privada RSA, dicha clave podría utilizarse para suplantar un dispositivo Cisco ASA o FTD. Consulte la sección de Indicadores de Compromiso del aviso de seguridad para obtener más información sobre la detección de este tipo de clave RSA.

Esta herramienta le permite comprobar la clave RSA privada en dispositivos Cisco ASA o FTD.

El aviso de seguridad de Cisco está disponible en el siguiente enlace: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

Cómo Usar la Herramienta Comprobadora de Claves RSA

El propósito de la herramienta key_check.py es analizar claves exportadas desde ASA o FTD para determinar su susceptibilidad a la "Vulnerabilidad de Filtración de Clave Privada RSA de Cisco (CVE-2022-20866)".

Requisitos del sistema

La herramienta key_check.py es una herramienta compatible con la comunidad que se ejecuta en el entorno de shell de Linux y tiene las siguientes dependencias:

  • Python 3
  • Herramienta de línea de comandos OpenSSL

Plataformas compatibles

Esta herramienta está diseñada para ser independiente de la plataforma y ha sido probada en las siguientes configuraciones 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

Interfaz de comandos de la herramienta

Sintaxis:

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

Parámetros:

root@kitploit:~
    -h 
        mostrar información de ayuda
    --pkcs12 
        El nombre del archivo que contiene la clave a analizar en formato
     	PKCS12 codificado en base64. Este archivo se exporta desde el
        dispositivo ASA o FTD siguiendo el procedimiento descrito más abajo.
    --passwd 
        La contraseña necesaria para descifrar el PKCS12. Este es el
        mismo valor que se introdujo en la CLI de ASA o FTD al
        exportar la clave. Si no se especifica esta opción, la
        herramienta solicitará la contraseña.

Exportación de claves en ASA

Esta sección describe cómo exportar una clave desde un dispositivo ASA. Este procedimiento deberá seguirse para cada clave que se desee analizar. Hay 2 escenarios:

  1. El par de claves se utiliza en un certificado de trustpoint de ASA

Los trustpoints permiten gestionar y rastrear autoridades de certificación (CA) y certificados. Un trustpoint es una representación de una CA o par de identidad. Un trustpoint incluye la identidad de la CA, parámetros de configuración específicos de la CA, y una asociación con un certificado de identidad inscrito. Si el par de claves se utiliza en un certificado configurado en ASA, entonces el par de claves se puede exportar escribiendo:

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

donde es el nombre del trustpoint.

  1. El par de claves no se utiliza en un certificado de trustpoint de ASA

Si la clave no está presente en un certificado configurado en ASA, entonces se debe crear un trustpoint temporal e inscribirlo con un certificado autofirmado.

Suponga que keyname es el nombre del par de claves que se va a exportar. Suponga que temptp es un nombre utilizado para un trustpoint temporal.

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

Ahora genere el PKCS12:

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

Los dos procedimientos anteriores (1, 2) volcarán un p12 codificado en base64 con contraseña "test" en la consola. Coloque todas las líneas de salida en un archivo de texto. Este archivo se utilizará como entrada para la herramienta.

Exportación de claves en FTD

En dispositivos FTD, el procedimiento requiere el uso de FMC de la siguiente manera. Tenga en cuenta que las claves no son gestionables de forma independiente en FTD, por lo que todas las claves deben tener un certificado asociado.

  • Vaya a devices / certificates
  • Haga clic en el icono de exportación del certificado deseado bajo el dispositivo deseado.
  • Seleccione el botón de opción PKCS12
  • Introduzca una frase de contraseña en ambos cuadros y pulse OK
  • Descargue el archivo PKCS12

Entrada de la herramienta

Lo siguiente se incluye con el propósito de validación visual de cómo deberían verse los contenidos de un archivo PKCS12 exportado:

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

             <lines omitted>

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

Ejecución del script

El uso de la herramienta se muestra a través de los siguientes ejemplos que demuestran todos los resultados posibles.

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

The RSA key is valid.
  1. Clave válida con características de exposición
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. Clave inválida sin características de vulnerabilidad
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. Clave inválida vulnerable
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. Contraseña inválida
root@kitploit:~
linux> ./key_check.py --passwd test2 --pkcs12 valid_normal.p12.b64

ERROR:  Mac verify error: invalid password?
  1. Archivo 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. Clave válida pero no 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:
Descargar herramienta