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
--------------------------------------







domingo, 24 de diciembre de 2017

Write-up "Mission#002"

Los participantes que han conseguido resolver el reto han sido publicados en la UAD de la misión. Tendréis el enlace en el apartado más información de esta página.


En primer lugar, como anteriormente, enhorabuena a todos los que lo han sacado y espero que os lo hayáis pasado bien.
En segundo lugar, agradecer de nuevo la aceptación que ha tenido el proyecto, esperamos que se mantenga en el próximo año que está por entrar.

Pasamos a la explicación de como se resolvía este segundo reto "Mission#002":
En el primer enlace, en el código de la web podíamos ver comentado la ubicación de la fábrica.
Santa Claus Inc
Canada
62º 37' 14.2" N
107º 35' 49.3" W
postal no password
Con esta información y la parte de la descripción del reto en la que nos avisa que solo es accesible desde el país en el que se encuentra la fábrica, podemos ya adivinar que utilizando un proxy de Canadá, podríamos acceder a la siguiente parte.

Al entrar veríamos una imagen muy característica de estas fechas.

Esta imagen, como es de esperar, tiene cierta información dentro, la cuál es necesaria para completar el reto.

Descargaríamos la imagen y usaríamos alguna herramienta de esteganografía para poder comprobar si realmente hay información dentro de ella. En mi caso utilizaré steghide.



Cuando nos pida la contraseña, aceptaremos dejándola en blanco.

La herramienta nos ha sacado una cadena de texto la cuál deberemos decodificar.



A pesar de no ser una codificación tan conocida como base64, también es conocida. En este caso se trata de base32. Con un pequeño comando tendremos ya nuestra flag conseguida.



El nivel de este reto ha sido inferior al del primero, ya que no pretendemos mantener un nivel exacto sino ir variando cada mes para poder ver como evoluciona la gente con los retos propuestos.

Hemos creado un pequeño cuestionario que nos gustaría que rellenárais para poder mejorar el servicio que estamos dando con esta iniciativa de "Una al mes". Cualquier sugerencia será bien recibida e intentaremos que las más repetidas sean cumplidas. Tenéis el enlace en el apartado más informacion.

Por último, desearos Feliz Navidad desde la coordinación de "Una al Mes".

¡Nos vemos con la tercera entrega el 15 de Enero!


Daniel Púa
@arrowcode_
dpua@hispasec.com


Más información:

UAD del reto:

http://unaaldia.hispasec.com/2017/12/segunda-entrega-una-al-mes-mision-002.html

Encuesta sobre el servicio "Una al Mes":
https://docs.google.com/forms/d/e/1FAIpQLSetxUbGRO1kMR0YNSlgxcVAspJyvUNYFH2NL-VMDm9mbOE6ww/viewform?usp=sf_link