* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión del PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter****🐦**[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs al [repositorio de hacktricks](https://github.com/carlospolop/hacktricks) y al [repositorio de hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
El enfoque aquí está en el callback *onAuthenticationSucceeded*, que es crucial en el proceso de autenticación. Los investigadores de WithSecure desarrollaron un [script de Frida](https://github.com/WithSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass.js), que permite saltar el *CryptoObject* NULL en *onAuthenticationSucceeded(...)*. El script fuerza un salto automático de la autenticación biométrica al invocar el método. A continuación se muestra un fragmento simplificado que demuestra el salto en un contexto de huella dactilar de Android, con la aplicación completa disponible en [GitHub](https://github.com/St3v3nsS/InsecureBanking).
Otro [script de Frida](https://github.com/WithSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass-via-exception-handling.js) de WithSecure aborda eludir el uso inseguro de objetos criptográficos. El script invoca *onAuthenticationSucceeded* con un *CryptoObject* que no ha sido autorizado por una huella dactilar. Si la aplicación intenta usar un objeto de cifrado diferente, desencadenará una excepción. El script se prepara para invocar *onAuthenticationSucceeded* y manejar la *javax.crypto.IllegalBlockSizeException* en la clase _Cipher_, asegurando que los objetos subsecuentes utilizados por la aplicación estén encriptados con la nueva clave.
Los marcos de instrumentación como Xposed o Frida se pueden utilizar para engancharse en los métodos de la aplicación en tiempo de ejecución. Para la autenticación biométrica, estos marcos pueden:
1.**Falsificar las Devoluciones de Autenticación**: Al engancharse en los métodos `onAuthenticationSucceeded`, `onAuthenticationFailed` o `onAuthenticationError` del `BiometricPrompt.AuthenticationCallback`, se puede controlar el resultado del proceso de autenticación biométrica.
2.**Saltar el Pinning SSL**: Esto permite a un atacante interceptar y modificar el tráfico entre el cliente y el servidor, potencialmente alterando el proceso de autenticación o robando datos sensibles.
Herramientas de ingeniería inversa como `APKTool`, `dex2jar` y `JD-GUI` se pueden utilizar para descompilar una aplicación de Android, leer su código fuente y comprender su mecanismo de autenticación. Los pasos generalmente incluyen:
1.**Descompilar el APK**: Convertir el archivo APK a un formato más legible para humanos (como código Java).
2.**Analizar el Código**: Buscar la implementación de la autenticación por huella dactilar e identificar posibles debilidades (como mecanismos de respaldo o validaciones inadecuadas).
3.**Recompilar el APK**: Después de modificar el código para evitar la autenticación por huella dactilar, la aplicación se vuelve a compilar, firmar e instalar en el dispositivo para su prueba.
1.**Módulos MAGISK**: MAGISK es una herramienta para Android que permite a los usuarios rootear sus dispositivos y agregar módulos que pueden modificar o falsificar información a nivel de hardware, incluidas las huellas dactilares.
2.**Scripts Personalizados**: Se pueden escribir scripts para interactuar con el Android Debug Bridge (ADB) o directamente con el backend de la aplicación para simular o evadir la autenticación por huella dactilar.