Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2022-20866 — RSA Key Checker für CVE-2022-20866 | Kitploit
Tools/GitHubGitHub/ciscopsirt/cve-2022-20866
Verschlüsselungs-/EntschlüsselungstoolsSchwachstellenanalyseNetzwerksicherheitKryptographieHardware-Sicherheit
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

RSA Key Checker für CVE-2022-20866

Repository anzeigen
724vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

RSA Key Checker für CVE-2022-20866

Eine Schwachstelle in der Verarbeitung von RSA-Schlüsseln auf Geräten, die die Cisco Adaptive Security Appliance Software und Firepower Threat Defense Software ausführen, könnte einem nicht authentifizierten, entfernten Angreifer ermöglichen, den privaten RSA-Schlüssel abzurufen. Diese Schwachstelle ist auf einen Logikfehler zurückzuführen, wenn der RSA-Schlüssel auf einer Hardwareplattform, die hardwarebasierte Kryptographie durchführt, im Speicher abgelegt wird. Ein Angreifer könnte diese Schwachstelle ausnutzen, indem er einen Lenstra-Seitenkanalangriff gegen das Zielgerät durchführt. Ein erfolgreicher Angriff könnte es dem Angreifer ermöglichen, den privaten RSA-Schlüssel abzurufen.

Bei einem anfälligen Gerät könnten die folgenden Bedingungen beobachtet werden:

  • Der RSA-Schlüssel könnte fehlerhaft und ungültig sein. Der fehlerhafte RSA-Schlüssel ist nicht funktionsfähig, und eine TLS-Client-Verbindung zu einem Cisco ASA- oder FTD-Gerät, das den fehlerhaften RSA-Schlüssel verwendet, führt zu einem TLS-Signaturfehler, was bedeutet, dass eine anfällige Softwareversion eine ungültige RSA-Signatur erstellt hat, die die Verifikation nicht besteht. Wenn ein Angreifer den privaten RSA-Schlüssel erlangt, könnte ein solcher Schlüssel verwendet werden, um ein Cisco ASA- oder FTD-Gerät zu impersonieren.
  • Der RSA-Schlüssel könnte gültig sein, aber bestimmte Eigenschaften aufweisen, die ihn für das potenzielle Durchsickern des privaten RSA-Schlüssels anfällig machen. Wenn ein Angreifer den privaten RSA-Schlüssel erlangt, könnte ein solcher Schlüssel verwendet werden, um ein Cisco ASA- oder FTD-Gerät zu impersonieren. Bitte lesen Sie den Abschnitt Indicators of Compromise des Security Advisors für weitere Informationen zur Erkennung dieser Art von RSA-Schlüsseln.

Dieses Tool ermöglicht es Ihnen, den privaten RSA-Schlüssel auf Cisco ASA- oder FTD-Geräten zu überprüfen.

Der Cisco Security Advisory ist unter folgendem Link verfügbar: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

So verwenden Sie das RSA Key Checker Tool

Der Zweck des Tools key_check.py ist es, Schlüssel zu analysieren, die von ASA oder FTD exportiert wurden, um ihre Anfälligkeit für die "Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866)" zu überprüfen.

Systemanforderungen

key_check.py ist ein von der Community unterstütztes Tool, das in der Linux-Shell-Umgebung läuft und die folgenden Abhängigkeiten hat:

  • Python 3
  • OpenSSL-Befehlszeilentool

Unterstützte Plattformen

Dieses Tool ist plattformunabhängig konzipiert und wurde auf den folgenden Plattformkonfigurationen getestet:

  • 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

Befehlszeilenschnittstelle des Tools

Syntax:

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

Parameter:

root@kitploit:~
    -h 
        Hilfeinformationen anzeigen
    --pkcs12 
        Der Name der Datei, die den zu analysierenden Schlüssel im base64-
     	codierten PKCS12-Format enthält. Diese Datei wird vom ASA-
        oder FTD-Gerät mit dem unten beschriebenen Verfahren exportiert.
    --passwd 
        Das Passwort, das zum Entschlüsseln des PKCS12 erforderlich ist. Dies ist der
        gleiche Wert, der beim Exportieren des Schlüssels auf der ASA- oder FTD-CLI eingegeben wurde.
        Wenn diese Option nicht angegeben wird, fordert das Tool zur Eingabe des Passworts auf.

Schlüsselexport auf ASA

Dieser Abschnitt beschreibt, wie ein Schlüssel vom ASA-Gerät exportiert wird. Dieses Verfahren muss für jeden zu analysierenden Schlüssel durchgeführt werden. Es gibt 2 Szenarien:

  1. Das Schlüsselpaar wird in einem ASA-Trustpoint-Zertifikat verwendet

Trustpoints ermöglichen die Verwaltung und Verfolgung von Zertifizierungsstellen (CAs) und Zertifikaten. Ein Trustpoint ist eine Darstellung einer CA oder eines Identitätspaars. Ein Trustpoint enthält die Identität der CA, CA-spezifische Konfigurationsparameter und eine Zuordnung zu einem registrierten Identitätszertifikat. Wenn das Schlüsselpaar in einem Zertifikat verwendet wird, das auf der ASA konfiguriert ist, dann kann das Schlüsselpaar durch Eingabe von exportiert werden:

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

wobei der Name des Trustpoints ist.

  1. Das Schlüsselpaar wird nicht in einem ASA-Trustpoint-Zertifikat verwendet

Wenn der Schlüssel nicht in einem auf der ASA konfigurierten Zertifikat vorhanden ist, muss ein temporärer Trustpoint erstellt und mit einem selbstsignierten Zertifikat registriert werden.

Angenommen, keyname ist der Name des zu exportierenden Schlüsselpaares. Angenommen, temptp ist ein Name, der für einen temporären Trustpoint verwendet wird

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

Jetzt das PKCS12 generieren:

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

Die beiden obigen Verfahren (1, 2) geben ein base64-codiertes p12 mit dem Passwort "test" auf der Konsole aus. Fügen Sie alle Ausgabezeilen in eine Textdatei ein. Diese Datei wird als Eingabe für das Tool verwendet.

Schlüsselexport auf FTD

Auf FTD-Geräten erfordert das Verfahren die Verwendung von FMC wie folgt. Beachten Sie, dass Schlüssel auf FTD nicht unabhängig verwaltet werden können, daher sollten alle Schlüssel ein zugehöriges Zertifikat haben.

  • Gehen Sie zu devices / certificates
  • Klicken Sie auf das Export-Symbol für das gewünschte Zertifikat unter dem gewünschten Gerät.
  • Wählen Sie das PKCS12-Radio-Button aus
  • Geben Sie eine Passphrase in beide Felder ein und drücken Sie OK
  • Laden Sie die PKCS12-Datei herunter

Tool-Eingabe

Das Folgende dient zur visuellen Validierung des Inhalts einer exportierten PKCS12-Datei, der wie folgt aussehen sollte:

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

             <Zeilen ausgelassen>

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

Ausführen des Skripts

Die Verwendung des Tools wird anhand der folgenden Beispiele gezeigt, die alle möglichen Ergebnisse demonstrieren.

  1. Normaler gültiger Schlüssel
root@kitploit:~
linux>  ./key_check.py --passwd test --pkcs12 valid_normal.p12.b64

Der RSA-Schlüssel ist gültig.
  1. Gültiger Schlüssel mit Exposure-Eigenschaften
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 valid_short.p12.b64

Der RSA-Schlüssel ist gültig, aber anfällig für Offenlegung, wenn er in Produktversionen verwendet wird, die von der Cisco Private Key Leak Vulnerability (CVE-2022-20866) betroffen sind. Falls dies geschehen ist, sollte dieser Schlüssel nicht mehr verwendet werden.

  1. Ungültiger Schlüssel ohne Schwachstelleneigenschaften
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_not_vulnerable.p12.b64

Der RSA-Schlüssel ist aufgrund der Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866) ungültig, weist jedoch keine bekannten Exposure-Eigenschaften auf. Es wird empfohlen, diesen Schlüssel zu ersetzen.

  1. Ungültiger anfälliger Schlüssel
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_vulnerable.p12.b64

Der RSA-Schlüssel ist ungültig und aufgrund der Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866) anfällig für Offenlegung. Dieser Schlüssel sollte nicht mehr verwendet werden.

  1. Ungültiges Passwort
root@kitploit:~
linux> ./key_check.py --passwd test2 --pkcs12 valid_normal.p12.b64

FEHLER:  Mac verify error: invalid password?
  1. Ungültige Eingabedatei
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 bad_file.txt

FEHLER:  139710534743952:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:157:
  1. Gültiger, aber kein RSA-Schlüssel
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 ecdsa.p12.b64

FEHLER:  140300676220816:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:p_lib.c:287:
Tool herunterladen