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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
android-hardware-attestation-demo — Android HW Attestationのデモ | Kitploit
ツール/GitHubGitHub/quarkslab/android-hardware-attestation-demo
Androidセキュリティ認証と認可モバイルアプリペンテストモバイルセキュリティハードウェアセキュリティ学習と教育
GitHubquarkslab/android-hardware-attestation-demo

android-hardware-attestation-demo

Android HW Attestationのデモ

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
476511ヶ月前未レビュー

Android ハードウェア構成証明バイパス — デモ

このリポジトリは、Android ハードウェア Key Attestation に関する Quarkslab の記事 に付随し、その内容を説明するためのものです。

これは、単純なバイパスを示す小規模なエンドツーエンドの概念実証(PoC)です。root化された電話機を使うアナリストが、構成証明を2台目のクリーンなデバイスにリレーすることで、バックエンドのハードウェア構成証明チェックを無効化します。何も偽造されていません。未改変のデバイスが生成し、バックエンド自身の nonce にバインドされた本物の構成証明チェーンが、root化デバイスの拒否されたチェーンの代わりに転送されます。

適用範囲と倫理。 これはセキュリティ研究のための教育資料です。平文の HTTP を使用し、安全チェックを意図的に無効にしています(全体に「デモ専用」のマーカーがあります)。信頼できるローカルネットワーク上で、ご自身のデバイスとバックエンドに対して実行してください。

バイパスの仕組み

root化されたデバイスの Keystore 構成証明はロック解除されたブートローダーを報告するため、バックエンドはそれを拒否します。アナリストは暗号を攻撃する代わりに、アプリ自身の構成証明呼び出しをインターセプトし、同じチャレンジに対してクリーンなデバイスからライブで取得したチェーンに差し替えます。

フックはデモアプリ内の KeystoreAttestation.generateAttestedKey(challenge) を置き換え、ローカルの Keystore を一切呼び出さないため、root化デバイスのチェーンは生成されません。リレーされたチェーンは本物であり、バックエンドの verified boot とハードウェアバックアップのチェックを通過します。

コンポーネント

コンポーネントパス役割動作環境
デモクライアントapps/QuarkslabAttestationDemo/対象アプリ。nonce を要求し、構成証明を行い、チェーンをバックエンドに送信します。Frida によってフックされます。root化された解析用デバイス
構成証明サーバーapps/QuarkslabAttestationServer/構成証明オラクル。指定された nonce に対して本物のチェーンを生成します。検証は一切行いません。クリーンで未改変のデバイス
インストルメンテーションinstrumentation/Frida エージェント(フック)と、nonce をクリーンなデバイスへリレーするコントローラー。アナリストのワークステーション + root化デバイス
バックエンドbackend/検証者(Relying Party)。nonce を発行し、構成証明チェーンを検証します。デバイスから到達可能な任意のマシン

各コンポーネントには詳細を記載した専用の README があります。このファイルはそれらを結び付ける役割を担います。

前提条件

  • 物理デバイスが2台。 構成証明には実際のハードウェアが必要です。エミュレーターはソフトウェアバックアップのチェーンを返すため、バックエンドはそれを拒否します。
    • frida-server 17.16.4 を実行し、デモアプリがインストールされた root化済み の「解析用」デバイス。
    • 構成証明サーバーアプリがインストールされた クリーンで未改変 のデバイス(ロックされたブートローダー、StrongBox または TEE)。
  • バックエンド 用に同じネットワーク上のマシン(Python 3、依存関係は backend/requirements.txt)。
  • 2つの Android アプリをビルドするための JDK 17-21。Android Studio またはコマンドライン(Gradle ラッパー ./gradlew assembleDebug)のどちらでも構いません。
  • Frida エージェントを再ビルドする場合のみ、ワークステーションに Node 20 または 22 LTS。コンパイル済みエージェント(instrumentation/_agent.js)はコミットされているため、再ビルドは任意です。
  • 3者(デバイス2台とバックエンド)はすべてネットワーク経由で相互に到達可能である必要があります。

エンドツーエンドの実行

各コンポーネントを以下の順序で起動します。

  1. バックエンド。 両方のデバイスから到達可能なマシン上で:

    root@kitploit:~
    cd backend
    pip install -r requirements.txt
    python3 attestation_backend.py      # listens on 0.0.0.0:8080
    
  2. クリーンなデバイス。 構成証明サーバーアプリをビルドしてインストールし、開いて START SERVER をタップし、表示される URL(例: http://192.168.1.42:8080)をメモします。

  3. root化デバイス。 frida-server を起動し、デモアプリをビルドしてインストールし、開いてバックエンドのアドレス(host:port)を入力します。

    両方のアプリは、Android Studio またはコマンドライン(Gradle ラッパー ./gradlew assembleDebug、JDK 17-21)からビルドできます。詳細は各アプリの README を参照してください。

  4. リレー。 ワークステーション上で:

    root@kitploit:~
    cd instrumentation
    python3 control.py --host <clean-device-ip> --port 8080
    

    コントローラーはデモアプリをスポーンし、フックをインストールしてから再開(resume)します。

  5. トリガー。 デモアプリで RUN ATTESTATION をタップします。バックエンドは valid を返します。リレーされたチェーンがロックされたブートローダーを報告するためです。

  6. ネガティブコントロール。 control.py を停止し、再度 RUN ATTESTATION をタップします。デモアプリは今度は root化デバイス自身のチェーンを送信するため、バックエンドはそれを拒否します。これが、リレーが無効化するチェックです。

エージェントの再ビルド(agent/agent.ts を変更した場合のみ):

root@kitploit:~
cd instrumentation
nvm use          # Node 22 from .nvmrc
npm install
npm run build    # regenerates _agent.js

リポジトリ構成

root@kitploit:~
apps/
  QuarkslabAttestationDemo/     target client app (Android Studio project)
  QuarkslabAttestationServer/   clean-device attestation oracle (Android Studio project)
instrumentation/                Frida agent + relay controller
backend/                        Python attestation validator
LICENSE                         MIT

ライセンスと帰属

Copyright 2026 Quarkslab. MIT ライセンスの下で提供されています。LICENSE を参照してください。

このリポジトリは、Quarkslab の記事 で説明されている内容を示すものです。

ツールをダウンロード