jueves, 15 de febrero de 2018

Write-up "Mission#003"

Rick y la bomba

Antes que nada, presentar nuestras disculpas por tardar tanto en liberar el write-up.


En esta misión volvemos a estar en el papel de Rick, tenemos que evitar que explote
una bomba, pero la información que tenemos es solo un código QR desordenado.


Puzzle QR


Podemos hacer uso de GIMP para rearmar el código QR, scripts en python...etc.
Hay bastante información en Google sobre esto, el rearme correcto sería el siguiente
que corresponde con una dirección de descarga de una apk:
Puzzle QR Resuelto


Y aquí empieza lo divertido, podemos instalarla en un emulador de android para
echar un primer vistazo a la aplicación.


Temporizador de la bomba
Explosión de la bomba
Hace poco vi por algún lugar oscuro de Twitter una distribución que me llamó mucho la atención
"Android Tamer" (dejo el link en el apartado "Herramientas" abajo del post).

Android Tamer es una distribución diseñada para hacer auditorias de seguridad a aplicaciones Android.
Así que nos viene perfecto para esta ocasión. Personalmente cuando me enfrento a este tipo de pruebas
lo que suelo hacer es analizarlo con "MobSF (Mobile Security Framework)".
Abrimos una terminal y ejecutamos el comando 'mobsf' se ejecutará un portal web:
(http://0.0.0.0:3000 por defecto en Android Tamer).


Consola MobSF



Portal Web MobSF




Y analizamos 'timer.apk'. En el apartado de 'Options' nos presenta varias opciones:

Options MobSF

Las más interesantes son 'View java / Download Java Code' y 'View smali / Download Smali Code'.
Descargamos los ficheros y podemos investigar mejor con esto nos valdrá, si vemos el 'MainActivity.java' y
nos fijamos en las funciones: 'onCreate()' y 'showCode()' vemos lo siguiente:

Código onCreate()


Código showCode()



Si nos descargamos desde MobSF los ficheros 'java' y 'smali' podemos modificarlos y recompilar la apk para que funcione según nuestras modificaciones. Dentro de 'MainActivity.smali' vemos las funciones 'showCode(), wasSuccess(), showBoom()'

MainActivity.smali




Podemos parchear estas funciones y reemplazar la función 'showBoom()' por 'showCode()'.


MaicActivity.smali modificado


Recompilamos la aplicación, la instalamos en nuestro dispositivo y/o emulador, veremos como no ha funcionado la aplicación, pero si matamos el proceso de la aplicación y esperamos a que pase los 30 segundos y ya obtenemos el código UAM{B0mb_D1S4BL3D_YOU_R0CK}

FLAG!!!

Espero que os haya ayudado este write-up, hay muchísimas formas de resolver este reto pero ha sido imposible recogerlas todas y organizarlas para un write-up más completo, quizás en próximas misiones podamos hacerlo. 
Recordar que cualquier duda podéis exponerla en el canal de Telegram (https://t.me/joinchat/AKWAVkxjj1GTE_cvkvQvIQ) o por privado a los administradores. 


Muchas gracias por participar en una misión más y bienvenidos a los que se enganchan ahora.





Mario Parra
@MPAlonso_

Herramientas usadas por los participantes

QR
-------------------------------------





APK
--------------------------------------