Cómo comprometer el patrón de desbloqueo de Android

android-desbloqueo

En la siguiente entrada veremos cómo obtener o eliminar un patrón de bloqueo de Android, siempre como prueba de concepto, así que nada de terminales robados ni de tomar prestado un momento el teléfono de la novia, que os conozco…😄

Como todos sabemos, en Android se utiliza ampliamente el patrón de grid en 3×3, en el que deberemos marcar un mínimo de cuatro puntos y en el que cada punto sólo puede ser utilizado una vez. Cada uno de estos puntos es indexado internamente de 1 a 9. Por ejemplo, en la imagen de la derecha el patrón de desbloqueo sería “2547896”.

Este patrón se almacena como un hash SHA-1 en una cadena de bytes dentro del fichero /data/system/gesture.key. El problema es que Android no añade salt a los datos originales y, si tenemos en cuenta que tenemos un número finito de posibles patrones, crear y utilizar un diccionario de hashes válidos es algo muy trivial…

Obteniendo el patrón de desbloqueo

El fichero gesture.key se encuentra en un directorio que no es accesible normalmente, por lo que tendremos que acceder como root, es decir, el teléfono ha de encontrarse previamente rooteado. Además, para poder utilizar el SDK (adb) deberemos conectar el terminal a nuestro equipo y para ello tiene que estar activado el USB debugging. Si se dan estas dos circustancias los pasos son muy sencillos. A continuación veremos cómo hacerlo en un Windows 7 con un Samsung Galaxy S…

Primero conectamos el teléfono y comprobamos que nuestro dispositivo se reconoce correctamente:

D:\android-adt-bundle-windows\sdk\platform-tools>adb.exe devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
303121D3C7E200EC        device

Ahora volcamos el contenido del fichero gesture.key a un fichero de texto en nuestro equipo:

D:\android-adt-bundle-windows\sdk\platform-tools>adb shell “su -c ‘cat /data/system/gesture.key'” > prueba.txt

Después lo abrimos con nuestro editor hexadecimal favorito:

D:\android-adt-bundle-windows\sdk\platform-tools>”d:\Program Files (x86)\HxD\HxD.exe” prueba.txt

Copiamos el patrón del dispositvo:

hxd_android_lock_pattern

Finalmente, buscamos el hash dentro del diccionario:

dictio_SHA1_android_lock_patterns

Como podéis comprobar, a la izquierda podemos ver el patrón de desblopqueo utilizado. Así de fácil.

Y ahora pensaréis “ya, y si el teléfono no está rooteado o no tiene el debugging activado?“. Pues existe otra opción que sería obtener el contenido de la memoria flash mediante JTAG y buscar cada uno de los hashes del diccionario pre-compilado. Podéis descargar scripts en Python que automatizan esta tarea desde http://www.ccl-forensics.com/Software/other-software-a-scripts.html.

Desactivando el patrón de desbloqueo
Por último, existe otra opción que es evadir el patrón de desbloqueo. Para ello se puede:

1. desactivar:

db shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name=’lock_pattern_autolock’;
update system set value=0 where name=’lockscreen.lockedoutpermanently’;
.quit

y/o eliminar:

adb shell rm /data/system/gesture.key

Fuentes:
Locked Out of Your Phone? Here’s How You Bypass the Android Pattern Lock Screen
Unlocking Android Pattern Locks
Cracking android lockscreens

Una respuesta a Cómo comprometer el patrón de desbloqueo de Android

  1. I simply could not go away your website prior to suggesting that
    I extremely enjoyed the usual info an individual provide on your visitors?
    Is going to be back frequently to inspect new posts

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: