Desbloqueo de dispositivos Android con fuerza bruta
Hoy en día, incluso las personas ajenas al ámbito DFIR (Digital Forensics and Incident Response) saben que adivinar manualmente un código de acceso desconocido es la forma más rápida de perder permanentemente el acceso a un dispositivo y a sus datos. Los fabricantes de dispositivos y los desarrolladores de software han hecho un trabajo impresionante protegiendo los datos de los usuarios. Y aunque no hubiera límites de intentos de inicio de sesión, ¿hacer fuerza bruta a mano para un PIN de Android con miles y millones de combinaciones posibles? Claramente no es una opción.
Entonces, ¿cómo desbloquear un dispositivo Android con fines forenses? Hay que encontrar una vulnerabilidad que permita acceder al sistema, saltarse las restricciones (al menos, una parte de ellas) y lanzar un ataque automatizado de fuerza bruta.
Es más fácil decirlo que hacerlo.
Los dispositivos Android son increíblemente diversos. Aunque comparten características de seguridad comunes, no existe un enfoque único que sirva para todos. Las soluciones disponibles se dirigen a grupos específicos de modelos de chipsets, por eso cada método de fuerza bruta de contraseñas de Android en Belkasoft X viene con su propio flujo de trabajo, dependiendo de si estás tratando con un dispositivo basado en MediaTek, Kirin o Unisoc.
Fuerza bruta en la pantalla de bloqueo de Android en pocas palabras
La mayoría de los dispositivos Android que llegan hoy en día a los laboratorios forenses tienen los datos de usuario cifrados. Las claves de cifrado utilizadas para protegerlos se derivan en el Entorno de Ejecución Confiable (TEE) después de que el dispositivo se inicia y el usuario introduce su código de acceso. Estas claves se basan en claves específicas del dispositivo y en las claves derivadas del código de acceso de la pantalla de bloqueo del usuario.
Los ataques forenses de fuerza bruta aprovechan las vulnerabilidades específicas del chipset, explotando debilidades en el proceso de arranque, como las ROM de arranque inseguras o los modos de depuración. En particular, Belkasoft X puede interrumpir la cadena de arranque seguro, obtener la ejecución de código a bajo nivel y extraer las claves necesarias para forzar la contraseña desde el TEE (Trusted Execution Environment). Ejecuta el ataque de fuerza bruta sin conexión, evitando la limitación normal de Android (retrasos o límites de intentos). La velocidad de adivinación de la contraseña depende de la complejidad de la función de derivación de claves y de la capacidad de cómputo de la estación de trabajo forense digital.
Este proceso no interactúa con los datos de usuario volcados del dispositivo, por lo que es poco probable que altere la información o cause pérdida de datos.
Especificaciones de fuerza bruta de Unisoc
Los procesadores de bajo costo de Unisoc (anteriormente Spreadtrum) se encuentran en muchos dispositivos Android económicos. Algunos de estos modelos de SoC incluyen vulnerabilidades que permiten la ejecución de código en la BootROM simplemente a través de USB cuando el dispositivo se inicia en el Modo de Descarga de Spreadtrum (SPD). Belkasoft X las explota para ejecutar su propio código en las primeras etapas de arranque, volcar el material de la clave de cifrado y aplicar fuerza bruta al código de acceso sin conexión. Los fallos de la BootROM no se pueden parchear mediante actualizaciones de software (están en memoria de solo lectura), por lo que los SoC afectados permanecen vulnerables.
Este método de fuerza bruta forma parte del flujo de trabajo de adquisición de Spreadtrum, y es fácil y relativamente rápido de ejecutar. Solo necesitas instalar un par de controladores, poner el dispositivo Unisoc en modo SPD e iniciar el proceso.
Especificaciones de fuerza bruta de MediaTek (MTK)
Los SoC de MediaTek impulsan una variedad de dispositivos Android (especialmente teléfonos de gama media de Xiaomi, Vivo, Oppo y similares). Muchos de estos dispositivos carecen de un elemento seguro dedicado y dependen únicamente del TEE para su protección. Y, de manera crítica, la BootROM de MTK tiene vulnerabilidades conocidas que abren la puerta a ataques de fuerza bruta. En particular, permite la carga y ejecución de código sin firmar antes de la aplicación del arranque seguro.
Belkasoft X ofrece un flujo de trabajo de adquisición que puede irrumpir en el proceso de arranque de dispositivos basados en una serie de chipsets MTK. Al igual que con los dispositivos basados en Unisoc, descarga la imagen física del dispositivo y el material de la clave de cifrado para ejecutar el proceso de fuerza bruta sin conexión.
Para realizar con éxito la fuerza bruta en MTK, necesitarás instalar los controladores para la comunicación de bajo nivel con MTK y luego poner el dispositivo en modo BootROM (o modo Preloader, para algunos dispositivos). Todo el proceso requiere algunos pasos previos más y más atención que el de fuerza bruta en Unisoc, pero sigue siendo relativamente fácil de ejecutar y funciona bastante rápido.
Especificaciones de la fuerza bruta de Kirin
Los chipsets HiSilicon Kirin, utilizados principalmente en dispositivos Huawei y Honor, presentan un escenario ligeramente diferente. Los teléfonos insignia de Huawei a menudo contaban con una seguridad robusta (incluidas sus propias implementaciones de TEE y, en modelos más recientes, elementos seguros integrados para pagos). A diferencia de MTK o Unisoc, no se han divulgado tantos exploits públicos de BootROM para Kirin. En su lugar, las herramientas DFIR utilizan los modos de ingeniería específicos del dispositivo de Huawei y las vulnerabilidades del gestor de arranque (bootloader).
Para realizar un ataque de fuerza bruta en un dispositivo basado en Kirin, debes ponerlo en modo de descarga USB (también conocido como modo de puerto COM). Este modo permite la comunicación USB con el dispositivo y, por lo tanto, el acceso a los componentes necesarios para los ataques de fuerza bruta. Activar este modo requiere cierto esfuerzo manual: tendrás que desmontar el dispositivo, localizar el punto de prueba y hacer un cortocircuito utilizando pinzas de punta fina.
Actualmente, Belkasoft X es compatible con la fuerza bruta y la adquisición de datos para dispositivos que funcionan con los chipsets Kirin 970 y 980. El proceso se ejecuta sin conexión, lo que lo hace bastante rápido y seguro. El flujo de trabajo de adquisición varía según si el dispositivo ha recibido ciertos parches de seguridad. Algunos modelos pueden no conectarse a través de USB, otros pueden requerir un cable Harmony TCP para iniciar la comunicación USB, y otros aún se conectarán directamente a través de USB-C. Belkasoft X te notificará sobre los pasos a seguir.
Reflexiones finales: ¡No te rindas ante la evidencia bloqueada!
Casi cualquier dispositivo tiene vulnerabilidades de hardware o software. Los más baratos y antiguos, a menudo utilizados como "teléfonos desechables", suelen tener más "lagunas" para la fuerza bruta y la adquisición de datos, mientras que los dispositivos Android de gama alta suelen estar construidos como Fort Knox (con perdón del juego de palabras).
Las vulnerabilidades (exploits) no son fáciles de encontrar y su investigación e implementación requieren tiempo; por eso, muchos métodos de fuerza bruta solo se dirigen a modelos antiguos de teléfonos y tabletas. ¡Pero no por eso debes darte por vencido con la evidencia bloqueada!
Imagina esto: recibes un teléfono bloqueado de un sospechoso que no coopera. Es un modelo nuevo, completamente actualizado y difícil de "romper". Pero luego, durante la búsqueda, aparece otro dispositivo: un teléfono más antiguo que el sospechoso abandonó hace años. También está bloqueado, pero esta vez, tu herramienta DFIR (presumiblemente, Belkasoft X) lo soporta. Aquí está la clave: la gente a menudo usa las mismas contraseñas durante años, a veces décadas. Hay una alta probabilidad de que el código de acceso utilizado en el dispositivo antiguo sea el mismo que en el nuevo.
La persistencia, la creatividad y las herramientas adecuadas pueden convertir un callejón sin salida en un gran avance. Consulta los modelos de dispositivos compatibles con Belkasoft X en: https://belkasoft.com/brute. ¿Quizás uno de ellos ha estado acumulando polvo en un estante de tu almacén de pruebas?