Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-0073 — AndroidのadbdワイヤレスデバッグにおけるTLS認証バイパスの概念実証エクスプロイト。EC/RSAの鍵タイプ不一致を利用して、認証なしのリモートシェルを取得します。 | Kitploit
ツール/GitHubGitHub/umarrehmansiddiqui/cve-2026-0073
Androidセキュリティ脆弱性分析エクスプロイトウェブアプリケーション悪用暗号化モバイルセキュリティ認証リモートアクセスツール
GitHubumarrehmansiddiqui/cve-2026-0073

CVE-2026-0073

AndroidのadbdワイヤレスデバッグにおけるTLS認証バイパスの概念実証エクスプロイト。EC/RSAの鍵タイプ不一致を利用して、認証なしのリモートシェルを取得します。

リポジトリを見る
11日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-0073: Android ワイヤレスデバッグ (adbd) 認証バイパス

免責事項: この概念実証 (PoC) は、教育および許可されたセキュリティ研究の目的に厳密に限定して提供されています。コンピュータシステムへの不正アクセスは違法です。デバイスやネットワークに対してテストを行う前に、必ず明示的な許可を得ていることを確認してください。

📖 脆弱性を理解する (初心者向け)

Android デバイスには ワイヤレスデバッグ と呼ばれる機能があり、開発者は USB ケーブルなしで Wi-Fi 経由でデバイスに接続できます。この接続を安全に保つため、デバイスは TLS 暗号化を使用し、接続するコンピュータが暗号鍵を使って自身の身元を証明することを要求します。

欠陥はどこにあるのか? コンピュータが接続すると、Android のデーモン (adbd) は、そのコンピュータの鍵が以前に承認された鍵のいずれかと一致するかどうかを確認します。これは、3 つの数値のいずれかを返す組み込みの数学関数 (EVP_PKEY_cmp) を使用して行われます:

  • 1 は「鍵が完全に一致する」ことを意味します。
  • 0 は「鍵が一致しない」ことを意味します。
  • -1 は「エラー: 鍵が完全に異なる種類である (例: RSA 鍵と EC 鍵を比較している)」ことを意味します。

バグ: プログラマーは単純なチェックを書きました: if (result) { grant_access(); }。 プログラミングでは、1 と -1 の両方が「真」と見なされます。したがって、攻撃者が意図的にまったく異なる種類の鍵 (期待される RSA 鍵の代わりに楕円曲線鍵など) を送信すると、関数は -1 (エラー) を返します。バグのあるコードは -1 を見て「真」を意味すると解釈し、それでも完全なアクセスを許可してしまいます。

結果: 同じ Wi-Fi ネットワーク上の攻撃者は、認証を完全にバイパスし、元のペアリング鍵を必要とせず、ユーザーに承認プロンプトを表示することなく、デバイス上でリモートシェルを取得できます。


⚠️ 前提条件

このエクスプロイトが機能するには、対象の Android デバイスが次の 2 つの条件を満たしている必要があります:

  1. ワイヤレスデバッグが開発者向けオプションで有効になっている こと。
  2. デバイスが以前に少なくとも 1 台のコンピュータとペアリングされている こと。(このエクスプロイトは、種類の不一致バグを引き起こすために、デバイスのキーストアに既存の RSA 鍵があることに依存しています)。

攻撃者マシンの要件

このスクリプトは、一時的な証明書をオンザフライで生成するために Python 3 と cryptography ライブラリを必要とします。

必要なライブラリは、apt (Debian/Ubuntu/Kali の場合) または pip のいずれかを使用してインストールできます:

apt を使用する場合 (Linux で推奨):

sudo apt update
sudo apt install python3-cryptography

pip を使用する場合(クロスプラットフォーム):

pip3 install cryptography

🔍 ターゲットポートの特定

USBデバッグとは異なり、Androidはワイヤレスデバッグ用に、デバイスの再起動やWi-Fiネットワークの変更のたびにランダムな大きな番号のポートを割り当てます。

現在のポートがわからない場合は、nmapを使って簡単にスキャンできます。ワイヤレスデバッグのポートは通常30000から50000の間にあります。

次のコマンドを実行し、<hostname>をターゲットデバイスのIPアドレスに置き換えてください:

nmap -Pn -p T:30000-50000 <hostname>

出力の読み方: open と表示されるポートを探します。例:

PORT      STATE SERVICE
41234/tcp open  unknown

この例では、41234 が次のステップで使用するポートです。


🚀 使用方法

ターゲットのホスト名/IP と正しいポートを取得したら、エクスプロイトを実行できます。

1. インタラクティブシェル

完全なインタラクティブリモートシェルを開くには(SSH と同様):

python3 adb_bypass.py <hostname> <port>

例:

python3 adb_bypass.py 192.168.1.50 41234

接続すると、shell ユーザープロンプトが表示されます。終了するには Ctrl+C を押してください。

2. 単一コマンドの実行

インタラクティブシェルに入らずに特定のコマンドだけを実行して出力を確認したい場合は、--cmd フラグを使用します:

python3 adb_bypass.py <hostname> <port> --cmd "id"

3. 詳細モード

デバッグや調査目的で基盤となるネットワークトラフィックとハンドシェイクの詳細を確認するには、-v フラグを追加します:

python3 adb_bypass.py <hostname> <port> -v

🛠️ 仕組み (技術概要)

  1. 平文でのネゴシエーション: スクリプトはターゲットの TCP ポートに接続し、初期の CNXN パケットと STLS パケットを交換して TLS へのアップグレードに合意します。
  2. 一時証明書の生成: cryptography ライブラリを使用して、スクリプトは一時的な EC P-256 秘密鍵と自己署名 X.509 証明書をメモリ内で生成します。
  3. TLS 1.3 へのアップグレード: スクリプトはソケットを TLS 1.3 にアップグレードし、EC 証明書を Android デバイスに提示します。
  4. 脆弱性の誘発: デバイスは EC 証明書を自身が保存している RSA 鍵と比較しようとします。EVP_PKEY_cmp は -1 を返し、if (cmp) チェックが真と評価され、デバイスはその接続を認可済みとして扱います。
  5. TLS 後の悪用: スクリプトは TLS 後のハンドシェイクパケットを排出し、大きな delayed_ack ウィンドウを使用して直ちに shell: ストリームを開き、その結果、認証なしのリモートシェルを取得します。

ツールをダウンロード