Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2022-20866 — Vérificateur de clés RSA pour CVE-2022-20866 | Kitploit
Outils/GitHubGitHub/ciscopsirt/cve-2022-20866
Outils de Chiffrement/DéchiffrementAnalyse des VulnérabilitésSécurité RéseauCryptographieSécurité Matérielle
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

Vérificateur de clés RSA pour CVE-2022-20866

Voir le dépôt
72il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Vérificateur de clé RSA pour CVE-2022-20866

Une vulnérabilité dans la gestion des clés RSA sur les appareils exécutant le logiciel Cisco Adaptive Security Appliance et le logiciel Firepower Threat Defense pourrait permettre à un attaquant distant non authentifié de récupérer la clé privée RSA. Cette vulnérabilité est due à une erreur logique lorsque la clé RSA est stockée en mémoire sur une plateforme matérielle qui effectue de la cryptographie basée sur le matériel. Un attaquant pourrait exploiter cette vulnérabilité en utilisant une attaque par canal auxiliaire Lenstra contre l'appareil ciblé. Une exploitation réussie pourrait permettre à l'attaquant de récupérer la clé privée RSA.

Les conditions suivantes peuvent être observées sur un appareil vulnérable :

  • La clé RSA pourrait être malformée et invalide. La clé RSA malformée n'est pas fonctionnelle et une connexion client TLS vers un appareil Cisco ASA ou FTD qui utilise la clé RSA malformée entraînera un échec de signature TLS, ce qui signifie qu'une version logicielle vulnérable a créé une signature RSA invalide qui échoue à la vérification. Si un attaquant obtient la clé privée RSA, cette clé pourrait être utilisée pour usurper l'identité d'un appareil Cisco ASA ou FTD.
  • La clé RSA pourrait être valide mais présenter des caractéristiques spécifiques qui la rendent vulnérable à une fuite potentielle de la clé privée RSA. Si un attaquant obtient la clé privée RSA, cette clé pourrait être utilisée pour usurper l'identité d'un appareil Cisco ASA ou FTD. Veuillez consulter la section Indicateurs de compromission de l'avis de sécurité pour plus d'informations sur la détection de ce type de clé RSA.

Cet outil vous permet de vérifier la clé RSA privée dans les appareils Cisco ASA ou FTD.

L'avis de sécurité Cisco est disponible au lien suivant : https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

Comment utiliser l'outil Vérificateur de clé RSA

Le but de l'outil key_check.py est d'analyser les clés exportées depuis ASA ou FTD pour leur susceptibilité à la "Vulnérabilité de fuite de clé privée RSA Cisco (CVE-2022-20866)".

Configuration requise

Le key_check.py est un outil soutenu par la communauté qui s'exécute dans l'environnement shell Linux et a les dépendances suivantes :

  • Python 3
  • OpenSSL command line tool

Plateformes prises en charge

Cet outil est conçu pour être indépendant de la plateforme et a été testé sur les configurations suivantes :

  • 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 commande de l'outil

Syntaxe :

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

Paramètres :

root@kitploit:~
    -h 
        affiche les informations d'aide
    --pkcs12 
        Le nom du fichier contenant la clé à analyser au format PKCS12 encodé en base64.
     	Ce fichier est exporté depuis l'appareil ASA ou FTD en utilisant la procédure décrite ci-dessous.
    --passwd 
        Le mot de passe requis pour déchiffrer le PKCS12. C'est la même valeur qui a été saisie
        sur la CLI de l'ASA ou du FTD lors de l'export de la clé. Si cette option n'est pas spécifiée,
        l'outil demandera le mot de passe.

Export de clé sur ASA

Cette section décrit comment exporter une clé depuis l'appareil ASA. Cette procédure devra être suivie pour chaque clé à analyser. Il y a 2 scénarios :

  1. La paire de clés est utilisée dans un certificat trustpoint ASA

Les trustpoints vous permettent de gérer et de suivre les autorités de certification (CA) et les certificats. Un trustpoint est une représentation d'une paire CA ou identité. Un trustpoint inclut l'identité de la CA, des paramètres de configuration spécifiques à la CA, et une association avec un certificat d'identité inscrit. Si la paire de clés est utilisée dans un certificat configuré sur ASA, alors la paire de clés peut être exportée en saisissant :

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

où est le nom du trustpoint.

  1. La paire de clés n'est pas utilisée dans un certificat trustpoint ASA

Si la clé n'est pas présente dans un certificat configuré sur ASA, alors un trustpoint temporaire doit être créé et inscrit avec un certificat auto-signé.

Supposons que keyname est le nom de la paire de clés à exporter. Supposons que temptp est un nom utilisé pour un trustpoint temporaire

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

Maintenant générez le PKCS12 :

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

Les deux procédures ci-dessus (1, 2) vont afficher un p12 encodé en base64 avec le mot de passe "test" sur la console. Placez toutes les lignes de sortie dans un fichier texte. Ce fichier sera utilisé comme entrée pour l'outil.

Export de clé sur FTD

Sur les appareils FTD, la procédure nécessite l'utilisation de FMC comme suit. Notez que les clés ne sont pas gérées indépendamment sur FTD, donc toutes les clés doivent avoir un certificat associé.

  • Allez dans appareils / certificats
  • Cliquez sur l'icône d'export pour le certificat souhaité sous l'appareil souhaité.
  • Sélectionnez le bouton radio PKCS12
  • Saisissez une phrase de passe dans les deux champs et appuyez sur OK
  • Téléchargez le fichier PKCS12

Entrée de l'outil

Ce qui suit est inclus à des fins de validation visuelle de ce à quoi devrait ressembler le contenu d'un fichier PKCS12 exporté :

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

             <lines omitted>

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

Exécution du script

L'utilisation de l'outil est illustrée par les exemples suivants qui montrent tous les résultats possibles.

  1. Clé valide normale
root@kitploit:~
linux>  ./key_check.py --passwd test --pkcs12 valid_normal.p12.b64

The RSA key is valid.
  1. Clé valide avec caractéristiques d'exposition
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. Clé invalide sans caractéristiques de vulnérabilité
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. Clé invalide vulnérable
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. Mot de passe invalide
root@kitploit:~
linux> ./key_check.py --passwd test2 --pkcs12 valid_normal.p12.b64

ERROR:  Mac verify error: invalid password?
  1. Fichier d'entrée invalide
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. Clé valide mais non-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:
Télécharger l’outil