Bypass Biometric Authentication (Android)
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Mobile Securityの専門知識を深めるには、8kSec Academyをご利用ください。自己ペースのコースを通じてiOSとAndroidのセキュリティをマスターし、認定を取得しましょう:
ここでの焦点は、認証プロセスにおいて重要なonAuthenticationSucceededコールバックです。WithSecureの研究者は、*onAuthenticationSucceeded(...)*内のNULL CryptoObjectをバイパスするためのFridaスクリプトを開発しました。このスクリプトは、メソッドの呼び出し時に指紋認証の自動バイパスを強制します。以下は、Androidの指紋コンテキストでのバイパスを示す簡略化されたスニペットで、完全なアプリケーションはGitHubで入手できます。
Fridaスクリプトを実行するコマンド:
Another Frida script by WithSecure addresses bypassing insecure crypto object usage. スクリプトは、指紋によって承認されていないCryptoObjectを使用してonAuthenticationSucceededを呼び出します。アプリケーションが異なる暗号オブジェクトを使用しようとすると、例外が発生します。スクリプトはonAuthenticationSucceededを呼び出す準備をし、_Cipher_クラス内のjavax.crypto.IllegalBlockSizeExceptionを処理し、アプリケーションによって使用される後続のオブジェクトが新しいキーで暗号化されることを保証します。
Command to run the Frida script:
指紋画面に到達し、authenticate()
が開始されると、Fridaコンソールでbypass()
と入力してバイパスを有効にします:
Instrumentation frameworks like Xposed or Frida can be used to hook into application methods at runtime. For fingerprint authentication, these frameworks can:
認証コールバックをモックする: By hooking into the onAuthenticationSucceeded
, onAuthenticationFailed
, or onAuthenticationError
methods of the BiometricPrompt.AuthenticationCallback
, you can control the outcome of the fingerprint authentication process.
SSLピンニングをバイパスする: This allows an attacker to intercept and modify the traffic between the client and the server, potentially altering the authentication process or stealing sensitive data.
Example command for Frida:
APKTool
、dex2jar
、およびJD-GUI
のようなリバースエンジニアリングツールを使用して、Androidアプリケーションを逆コンパイルし、そのソースコードを読み、認証メカニズムを理解することができます。一般的な手順は次のとおりです。
APKの逆コンパイル: APKファイルをより人間が読みやすい形式(Javaコードなど)に変換します。
コードの分析: 指紋認証の実装を探し、潜在的な弱点(フォールバックメカニズムや不適切な検証チェックなど)を特定します。
APKの再コンパイル: 指紋認証をバイパスするためにコードを修正した後、アプリケーションは再コンパイルされ、署名され、テストのためにデバイスにインストールされます。
認証メカニズムをテストおよびバイパスするために設計された専門的なツールやスクリプトがあります。例えば:
MAGISKモジュール: MAGISKは、ユーザーがデバイスをルート化し、指紋を含むハードウェアレベルの情報を修正または偽装できるモジュールを追加するためのAndroid用ツールです。
カスタムビルドのスクリプト: スクリプトは、Androidデバッグブリッジ(ADB)と対話するか、アプリケーションのバックエンドと直接対話して指紋認証をシミュレートまたはバイパスするために作成できます。
モバイルセキュリティの専門知識を深めるために、8kSecアカデミーをご利用ください。自己ペースのコースを通じてiOSとAndroidのセキュリティをマスターし、認定を取得しましょう:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)