Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-20866 — RSA Key Checker per CVE-2022-20866 | Kitploit
Strumenti/GitHubGitHub/ciscopsirt/cve-2022-20866
Strumenti di Crittografia/DecrittografiaAnalisi delle VulnerabilitàSicurezza di ReteCrittografiaSicurezza Hardware
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

RSA Key Checker per CVE-2022-20866

Vedi Repository
7244 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Controllore Chiave RSA per CVE-2022-20866

Una vulnerabilità nella gestione delle chiavi RSA su dispositivi che eseguono il software Cisco Adaptive Security Appliance e Firepower Threat Defense Software potrebbe consentire a un attaccante remoto non autenticato di recuperare la chiave privata RSA. Questa vulnerabilità è dovuta a un errore logico quando la chiave RSA viene memorizzata in memoria su una piattaforma hardware che esegue crittografia basata su hardware. Un attaccante potrebbe sfruttare questa vulnerabilità utilizzando un attacco side-channel di Lenstra contro il dispositivo bersaglio. Un attacco riuscito potrebbe consentire all'attaccante di recuperare la chiave privata RSA.

Le seguenti condizioni potrebbero essere osservate in un dispositivo vulnerabile:

  • La chiave RSA potrebbe essere malformata e non valida. La chiave RSA malformata non è funzionale e una connessione client TLS a un dispositivo Cisco ASA o FTD che utilizza la chiave RSA malformata comporterà un errore di firma TLS, il che significa che una versione software vulnerabile ha generato una firma RSA non valida che fallisce la verifica. Se un attaccante ottiene la chiave privata RSA, tale chiave potrebbe essere utilizzata per impersonare un dispositivo Cisco ASA o FTD.
  • La chiave RSA potrebbe essere valida ma avere caratteristiche specifiche che la rendono vulnerabile alla potenziale fuga della chiave privata RSA. Se un attaccante ottiene la chiave privata RSA, tale chiave potrebbe essere utilizzata per impersonare un dispositivo Cisco ASA o FTD. Si prega di consultare la sezione Indicatori di Compromissione dell'avviso di sicurezza per ulteriori informazioni sul rilevamento di questo tipo di chiave RSA.

Questo strumento consente di verificare la chiave RSA privata nei dispositivi Cisco ASA o FTD.

L'avviso di sicurezza Cisco è disponibile al seguente link: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

Come Usare lo Strumento Controllore Chiave RSA

Lo scopo dello strumento key_check.py è analizzare le chiavi esportate da ASA o FTD per verificare la suscettibilità alla "Vulnerabilità di Fuga della Chiave Privata RSA Cisco (CVE-2022-20866)".

Requisiti di sistema

key_check.py è uno strumento supportato dalla comunità che funziona in ambiente shell Linux e ha le seguenti dipendenze:

  • Python 3
  • Strumento da riga di comando OpenSSL

Piattaforme supportate

Questo strumento è progettato per essere indipendente dalla piattaforma ed è stato testato sulle seguenti configurazioni di piattaforma:

  • 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

Interfaccia dei comandi dello strumento

Sintassi:

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

Parametri:

root@kitploit:~
    -h 
        visualizza le informazioni di aiuto
    --pkcs12 
        Il nome del file contenente la chiave da analizzare in formato base64
     	codificato PKCS12. Questo file viene esportato dal dispositivo ASA
        o FTD utilizzando la procedura descritta di seguito.
    --passwd 
        La password necessaria per decifrare il PKCS12. Questo è lo
        stesso valore inserito nella CLI ASA o FTD durante
        l'esportazione della chiave. Se questa opzione non viene specificata,
        lo strumento chiederà la password.

Esportazione della chiave su ASA

Questa sezione descrive come esportare una chiave dal dispositivo ASA. Questa procedura dovrà essere seguita per ogni chiave da analizzare. Ci sono 2 scenari:

  1. La coppia di chiavi è utilizzata in un certificato trustpoint ASA

I trustpoint consentono di gestire e tracciare le autorità di certificazione (CA) e i certificati. Un trustpoint è una rappresentazione di una CA o di una coppia di identità. Un trustpoint include l'identità della CA, i parametri di configurazione specifici della CA e un'associazione con un certificato di identità registrato. Se la coppia di chiavi è utilizzata in un certificato configurato su ASA, allora la coppia di chiavi può essere esportata inserendo:

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

dove è il nome del trustpoint.

  1. La coppia di chiavi non è utilizzata in un certificato trustpoint ASA

Se la chiave non è presente in un certificato configurato su ASA, è necessario creare un trustpoint temporaneo e registrarlo con un certificato autofirmato.

Si supponga che keyname sia il nome della coppia di chiavi da esportare. Si supponga che temptp sia un nome utilizzato per un trustpoint temporaneo

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

Ora genera il PKCS12:

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

Le due procedure sopra (1, 2) scaricheranno un p12 codificato in base64 con password "test" sulla console. Inserire tutte le righe di output in un file di testo. Questo file sarà utilizzato come input per lo strumento.

Esportazione della chiave su FTD

Sui dispositivi FTD, la procedura richiede l'uso di FMC come segue. Notare che le chiavi non sono gestibili indipendentemente su FTD, quindi tutte le chiavi dovrebbero avere un certificato associato.

  • Vai a dispositivi / certificati
  • Fai clic sull'icona di esportazione per il certificato desiderato sotto il dispositivo desiderato.
  • Seleziona il pulsante di opzione PKCS12
  • Inserisci una passphrase in entrambi i campi e premi OK
  • Scarica il file PKCS12

Input dello strumento

Quanto segue è incluso a scopo di validazione visiva di come dovrebbe apparire il contenuto di un file PKCS12 esportato:

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

             <lines omitted>

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

Esecuzione dello script

L'uso dello strumento è mostrato attraverso i seguenti esempi che dimostrano tutti i possibili risultati.

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

La chiave RSA è valida.
  1. Chiave valida con caratteristiche di esposizione
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 valid_short.p12.b64

La chiave RSA è valida ma è vulnerabile all'esposizione se utilizzata in versioni del prodotto affette dalla Vulnerabilità di Fuga della Chiave Privata Cisco (CVE-2022-20866). Se ciò è stato fatto, questa chiave non dovrebbe più essere utilizzata.

  1. Chiave non valida senza caratteristiche di vulnerabilità
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_not_vulnerable.p12.b64

La chiave RSA non è valida a causa della Vulnerabilità di Fuga della Chiave Privata RSA Cisco (CVE-2022-20866) ma non presenta caratteristiche note di esposizione. Si raccomanda di sostituire questa chiave.

  1. Chiave vulnerabile non valida
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_vulnerable.p12.b64

La chiave RSA non è valida ed è vulnerabile all'esposizione a causa della Vulnerabilità di Fuga della Chiave Privata RSA Cisco (CVE-2022-20866). Questa chiave non dovrebbe più essere utilizzata.

  1. Password non valida
root@kitploit:~
linux> ./key_check.py --passwd test2 --pkcs12 valid_normal.p12.b64

ERRORE:  Errore di verifica Mac: password non valida?
  1. File di input non valido
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 bad_file.txt

ERRORE:  139710534743952:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:157:
  1. Chiave valida ma non RSA
root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 ecdsa.p12.b64

ERRORE:  140300676220816:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:p_lib.c:287:
Scarica lo strumento