Con esta entrada comienzo una serie de posts con las soluciones a retos de 'reversing' de aplicaciones para el sistema operativo Android que he ido encontrando en diversas páginas web, plataformas de CTF online, etc. y que cumplen con presentar una dificultad para su resolución muy asequible (muy fáciles o fáciles), además de que me han parecido interesantes y/o entretenidos.
En este primer post indico mi solución a uno de los retos que se plantean en https://github.com/reoky/android-crackme-challenge, en concreto al segundo de los retos.
- Challenge Two:
Nos dan un archivo APK (crackme_two.apk) y tenemos que autenticarnos en la aplicación mediante un e-mail y una contraseña.
Mi valoración sobre su dificultad es: ★☆☆☆☆.
Solución: ejecuto la aplicación en un emulador de Android y se me pide que me autentique. Introduzco un e-mail y una contraseña cualesquiera, pulso "Authenticate" y se muestra un mensaje de error:
Para el análisis de la APK utilizo jadx, un decompilador de archivos APK.
Examinando las clases enseguida veo que la validación del e-mail y de la contraseña que se introducen se realiza en la clase "ChallengeTwoFragmentOnClickListener":
Tal y como se observa en el código de la figura anterior, para autenticarse con éxito el campo "Email" debe ser "manager@corp.net" y, además, se calcula el hash md5 de lo que se introduce en el campo "Secret", que debe ser igual a "b2c4782f0afc0d9ccf21af70ac6c5c7e".
Por tanto, para superar este reto tenemos que revertir dicho hash md5, para lo que acudo a una de las muchas páginas especializadas en el cálculo de hashes a ver si tengo suerte:
Por tanto, la contraseña es: zipdrive.
Para comprobar si lo he hecho bien ejecuto la APK en el emulador de Android, introduzco los campos "Email" y "Secret" hallados y pulso "Authenticate":
Y, tal y como se puede ver en la figura anterior, se muestra el mensaje de éxito.
En este primer post indico mi solución a uno de los retos que se plantean en https://github.com/reoky/android-crackme-challenge, en concreto al segundo de los retos.
- Challenge Two:
Nos dan un archivo APK (crackme_two.apk) y tenemos que autenticarnos en la aplicación mediante un e-mail y una contraseña.
Mi valoración sobre su dificultad es: ★☆☆☆☆.
Solución: ejecuto la aplicación en un emulador de Android y se me pide que me autentique. Introduzco un e-mail y una contraseña cualesquiera, pulso "Authenticate" y se muestra un mensaje de error:
Para el análisis de la APK utilizo jadx, un decompilador de archivos APK.
Examinando las clases enseguida veo que la validación del e-mail y de la contraseña que se introducen se realiza en la clase "ChallengeTwoFragmentOnClickListener":
Tal y como se observa en el código de la figura anterior, para autenticarse con éxito el campo "Email" debe ser "manager@corp.net" y, además, se calcula el hash md5 de lo que se introduce en el campo "Secret", que debe ser igual a "b2c4782f0afc0d9ccf21af70ac6c5c7e".
Por tanto, para superar este reto tenemos que revertir dicho hash md5, para lo que acudo a una de las muchas páginas especializadas en el cálculo de hashes a ver si tengo suerte:
Por tanto, la contraseña es: zipdrive.
Para comprobar si lo he hecho bien ejecuto la APK en el emulador de Android, introduzco los campos "Email" y "Secret" hallados y pulso "Authenticate":
Y, tal y como se puede ver en la figura anterior, se muestra el mensaje de éxito.
Comentarios
Publicar un comentario