Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-20866 — CVE-2022-20866用RSAキーチェッカー | Kitploit
ツール/GitHubGitHub/ciscopsirt/cve-2022-20866
暗号化/復号化ツール脆弱性分析ネットワークセキュリティ暗号化ハードウェアセキュリティ
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

CVE-2022-20866用RSAキーチェッカー

リポジトリを見る
7244年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2022-20866 対応 RSA 鍵チェッカー

Cisco Adaptive Security Appliance(ASA)ソフトウェアおよび Firepower Threat Defense(FTD)ソフトウェアを実行するデバイスにおける RSA 鍵の処理の脆弱性により、認証されていないリモート攻撃者が RSA 秘密鍵を取得できる可能性があります。この脆弱性は、ハードウェアベースの暗号化を実行するハードウェアプラットフォームのメモリに RSA 鍵が保存される際の論理エラーが原因です。攻撃者は、対象デバイスに対して Lenstra サイドチャネル攻撃を使用することで、この脆弱性を悪用する可能性があります。悪用に成功すると、攻撃者は RSA 秘密鍵を取得できる可能性があります。

脆弱なデバイスでは、以下の状況が観測される可能性があります。

  • RSA 鍵が不正形式であり無効である可能性があります。不正形式の RSA 鍵は機能せず、その RSA 鍵を使用する Cisco ASA または FTD デバイスへの TLS クライアント接続は TLS 署名の失敗を引き起こします。これは、脆弱なソフトウェアリリースが検証に失敗する無効な RSA 署名を生成したことを意味します。攻撃者が RSA 秘密鍵を取得した場合、その鍵を使用して Cisco ASA または FTD デバイスになりすます可能性があります。
  • RSA 鍵が有効であるが、RSA 秘密鍵の漏洩の可能性に対して脆弱になる特定の特性を持つ可能性があります。攻撃者が RSA 秘密鍵を取得した場合、その鍵を使用して Cisco ASA または FTD デバイスになりすます可能性があります。このタイプの RSA 鍵の検出に関する詳細については、セキュリティアドバイザリの「侵害の兆候」のセクションを参照してください。

このツールを使用すると、Cisco ASA または FTD デバイスの RSA 秘密鍵をチェックできます。

Cisco セキュリティアドバイザリは以下のリンクから入手できます。 https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

RSA 鍵チェッカーツールの使用方法

key_check.py ツールの目的は、ASA または FTD からエクスポートされた鍵が「Cisco RSA 秘密鍵漏洩脆弱性(CVE-2022-20866)」の影響を受けやすいかどうかを分析することです。

システム要件

key_check.py はコミュニティサポートのツールであり、Linux シェル環境で実行され、以下の依存関係があります。

  • Python 3
  • OpenSSL コマンドラインツール

サポート対象プラットフォーム

このツールはプラットフォームに依存しないように設計されており、以下のプラットフォーム構成でテストされています。

  • 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

ツールのコマンドインターフェース

構文:

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

パラメータ:

root@kitploit:~
-h 
    ヘルプ情報を表示します
--pkcs12 
    分析する鍵を含むファイル名(Base64 エンコードされた PKCS12 形式)。このファイルは、後述の手順を使用して ASA または FTD デバイスからエクスポートされます。
--passwd 
    PKCS12 の復号に必要なパスワード。これは、鍵のエクスポート時に ASA または FTD の CLI で入力した値と同じです。このオプションを指定しない場合、ツールはパスワードの入力を求めます。

ASA での鍵のエクスポート

このセクションでは、ASA デバイスから 1 つの鍵をエクスポートする方法について説明します。分析する鍵ごとにこの手順を実行する必要があります。シナリオは 2 つあります。

1)キーペアが ASA トラストポイント証明書で使用されている場合

トラストポイントを使用すると、認証局(CA)と証明書を管理および追跡できます。トラストポイントは、CA またはアイデンティティペアを表します。トラストポイントには、CA の ID、CA 固有の設定パラメータ、および 1 つの登録済み ID 証明書との関連付けが含まれます。キーペアが ASA に設定されている証明書で使用されている場合、次のコマンドを入力してキーペアをエクスポートできます。

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

ここで、 はトラストポイントの名前です。

2)キーペアが ASA トラストポイント証明書で使用されていない場合

鍵が ASA に設定されている証明書に存在しない場合は、一時的なトラストポイントを作成し、自己署名証明書で登録する必要があります。

keyname がエクスポートするキーペアの名前であるとします。 temptp が一時的なトラストポイントに使用する名前であるとします。

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

次に、PKCS12 を生成します。

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

上記の 2 つの手順(1、2)により、パスワード "test" で Base64 エンコードされた p12 がコンソールに出力されます。出力行をすべてテキストファイルに保存します。このファイルがツールへの入力として使用されます。

FTD での鍵のエクスポート

FTD デバイスでは、手順に FMC を使用する必要があります。FTD では鍵を個別に管理できないため、すべての鍵には関連付けられた証明書が必要です。

  • デバイス / 証明書に移動します。
  • 目的のデバイスの下にある目的の証明書のエクスポートアイコンをクリックします。
  • PKCS12 ラジオボタンを選択します。
  • 両方のボックスにパスフレーズを入力し、OK を押します。
  • PKCS12 ファイルをダウンロードします。

ツールの入力

以下は、エクスポートされた PKCS12 ファイルの内容がどのようになるかを視覚的に確認するためのものです。

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

             <行は省略>

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

スクリプトの実行

ツールの使用方法は、以下の例で示します。これらはすべての可能な結果を示しています。

1)通常の有効な鍵

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

RSA 鍵は有効です。

2)露出特性のある有効な鍵

root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 valid_short.p12.b64

RSA 鍵は有効ですが、Cisco 秘密鍵漏洩脆弱性(CVE-2022-20866)の影響を受ける製品バージョンで使用された場合、露出に対して脆弱です。使用された場合、この鍵は使用しないでください。

3)脆弱性特性のない無効な鍵

root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_not_vulnerable.p12.b64

RSA 鍵は Cisco RSA 秘密鍵漏洩脆弱性(CVE-2022-20866)により無効ですが、既知の露出特性はありません。この鍵を交換することを推奨します。

4)脆弱な無効鍵

root@kitploit:~
linux> ./key_check.py --passwd test --pkcs12 inval_vulnerable.p12.b64

RSA 鍵は無効であり、Cisco RSA 秘密鍵漏洩脆弱性(CVE-2022-20866)により露出に対して脆弱です。この鍵は使用しないでください。

5)無効なパスワード

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

ERROR:  Mac verify error: invalid password?

6)無効な入力ファイル

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:

7)有効だが非 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:
ツールをダウンロード