[Tutorial] Ingenieria inversa en android | Crackme

Iniciado por sadfud, Diciembre 29, 2016, 06:45:33 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas underc0deanos, en esta entrada enseñare como resolver este crackme No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Vamos al lio

para instalarlo en nuestro emulador usamos el android device bridge

Lo subimos con adb push 'local' 'emulador'

Abrimos shell en el emulador con adb shell

Navegamos hasta el directorio donde hayamos subido el APK

Instalamos con adb install nombre_del_paquete



El crackme presenta el siguiente panel de login donde nos pide un email y una contraseña (secret):



Lo siguiente que haremos sera situarnos con la consola del sistema en el directorio donde hayamos instalado el apk y escribir apktool d nombre_del_paquete

Una vez se haya decompilado el apk, entramos en la carpeta que se ha creado y posteriormente en el directorio smali

Una vez estamos en el directorio smali hacemos grep -R -i password

Con este comando buscaremos en todos los directorios de forma recursiva el string password sin case sensitive (-i)

Lo que estamos buscando son cadenas hardcodeadas que contengan password a ver si podemos tirar del hilo a partir de ahí.

Debería llamarnos la atención la siguiente linea



Para ver mas concretamente a que viene esta linea debemos navegar hasta la ruta indicada en morado.

Una vez dentro podemos ver el archivo en código smali

*Nota: el código smali es el punto medio entre el código programado en Java y el código dalvik que es el que "entiende" la maquina virtual de android al ejecutar la aplicación.

En la linea 191 encontramos el string que estábamos buscando, y un poquito mas abajo debería llamarnos bastante la atención la siguiente linea también hardcodeada

const-string v8, "[WARN] Secret didn\'t match b2c4782f0afc0d9ccf21af70ac6c5c7e"

Esto es un mensaje de error de un log generado tras comparar dos hash MD5, este hash que compara es la contraseña (secret) que hemos introducido, así que por pura lógica, si desciframos el hash ya tendremos la contraseña.

Ahora nos falta el email de acceso, pero si en ese mismo archivo buscamos @ saltamos directamente a otra linea hardcodeada con un email.

Ya tenemos el email y la contraseña (secret), probemos a hacer login...



Eso es todo, cualquier duda en los comentarios :D .
Mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si necesitas ayuda, no dudes en mandar MP

Aqui esta todo visual


con la app de JaDX @NaikSoftware:


y una Tool de Hashes
como esta:


seria otra forma thanks ... Sorry for reliving post



Que app es la que usaste Razita001 ? la puedes compartir brother por favor  ;)