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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-0778-POC — CVE-2022-0778 のリモート概念実証で、細工された証明書を TLS ハンドシェイクに注入して OpenSSL の BN_mod_sqrt() サービス拒否脆弱性を引き起こします。 | Kitploit
ツール/GitHubGitHub/jkakavas/cve-2022-0778-poc
脆弱性分析エクスプロイトファジングペネトレーションテスト
GitHubjkakavas/cve-2022-0778-poc

CVE-2022-0778-POC

CVE-2022-0778 のリモート概念実証で、細工された証明書を TLS ハンドシェイクに注入して OpenSSL の BN_mod_sqrt() サービス拒否脆弱性を引き起こします。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2022-0778 のためのシンプルなリモートトリガーPOC

理由

私たちのサーバー実装が CVE-2022-0778 に対して脆弱であるかどうかをリモートで検証しようとした際、非常に煩雑であることがわかりました。BN_nod_sqrt() の解析バグをトリガーする悪意ある証明書を作成する手順は 以前から存在していました が、主な問題は、ほとんどのクライアント実装が TLS ハンドシェイクで使用するためにクライアント証明書を解析しようとすることです。その結果、

  • 実装が脆弱な場合、バグがトリガーされ、クライアントは CPU を 100% 使用して停止します。
  • 実装が脆弱でない場合、証明書を解析できず、クライアントは当然ながら終了します。

目的

実際に必要だったのは、TLS ハンドシェイクにメッセージを注入し、CertificateRequest メッセージへの応答としてクライアントがサーバーに送信する Certificate メッセージの内容を置き換えられるようにすることでした。

方法

これは tlslite-ng に依存しており、TLSConnection._clientKeyExchange メソッドをオーバーライドすることで、脆弱性がある可能性のあるサーバーとの TLS ハンドシェイク中に以下の処理を行います。

  1. 通常通り ClientHello メッセージを送信します。
  2. ServerHelloMessage を受信し、CertificateRequest が含まれているか確認します。
  3. 含まれている場合、DER エンコードされた細工済み証明書をディスクから読み込み、任意の Certificate メッセージを構築します。
  4. 細工済みメッセージをサーバーに送信し、サーバーがそれを解析して CVE-2022-0778 をトリガーすることを期待します。

crafted.crt は https://github.com/drago-96/CVE-2022-0778#using-asn1-templates の手順に基づいて作成されています。必要に応じて再作成しても構いません。

Usage

root@kitploit:~
usage: main.py [-h] [--server SERVER] [--port PORT]

Parameters

optional arguments:
  -h, --help       show this help message and exit
  --server SERVER  Name of the server to connect for the TLS handshake,
                   defaults to "localhost"
  --port PORT      Port where server listens for TLS connections, defaults to
                   "443"
ツールをダウンロード