Bypass Biometric Authentication (Android)
Método 1 – Bypass sin Uso de Objeto Criptográfico
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, que permite el bypass del CryptoObject NULL en onAuthenticationSucceeded(...). El script fuerza un bypass automático de la autenticación de huellas dactilares al invocar el método. A continuación se muestra un fragmento simplificado que demuestra el bypass en un contexto de huella dactilar de Android, con la aplicación completa disponible en GitHub.
Comando para ejecutar el script de Frida:
Método 2 - Enfoque de Manejo de Excepciones
Otro script de Frida 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.
Comando para ejecutar el script de Frida:
Al llegar a la pantalla de huellas dactilares y al iniciar authenticate()
, escribe bypass()
en la consola de Frida para activar el bypass:
Método 3 – Marcos de Instrumentación
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:
Falsificar las Devoluciones de Autenticación: Al engancharse en los métodos
onAuthenticationSucceeded
,onAuthenticationFailed
oonAuthenticationError
delBiometricPrompt.AuthenticationCallback
, se puede controlar el resultado del proceso de autenticación biométrica.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.
Ejemplo de comando para Frida:
Método 4 – Ingeniería Inversa y Modificación de Código
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:
Descompilar el APK: Convertir el archivo APK a un formato más legible para humanos (como código Java).
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).
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 realizar pruebas.
Método 5 – Uso de Herramientas de Autenticación Personalizadas
Existen herramientas y scripts especializados diseñados para probar y evadir mecanismos de autenticación. Por ejemplo:
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.
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.
Referencias
Última actualización