https://teamwhoami-30cb9.firebaseapp.com/

Vale aquí estamos ante uno de los retos más difícil al que me he enfrentado nunca, no solo por su longitud, si no por el uso de técnicas, y lógica que ha requerido. Este reto tiene muchos callejones que no tendrán salida, lo que significará que debemos buscar otra vía de ataque para poder obtener el flag final.

Bien vemos el index del reto:

1.PNG

y ahora vamos a mirar el código fuente en búsqueda de algo de información si es que la hay:

2

222

Vemos que hay un enlace acortado y debajo información de que algo requiere 3 digitos numéricos, además observamos  un dato que todo lo que veamos está al revés al final del código fuente, bien abramos el enlace, al abrirlo vemos que es un enlace a un zip alojado a mega, ¿tendrá clave de 3 dígitos?..  descarguemos.

3

vemos que requiere contraseña:

4

Bien en este punto os dejo que me llaméis torpe, pero he sido incapaz de correr correctamente PassWordRecovery o jhonny the ripper para romper el zip desde Kali Linux, incluso llegue a compilr un exe del jar de PassWordRecovery pero wine no quiso instalar java, así que mi gozo en un pozo, me tuve que ir a windows, abajo os dejaré unos links, uno de ellos será el PassWordRecovery compilado en exe, eso si requiere tener instalado java, venga que me lio.

7.PNG

bueno abrimos el JPR para empezar a trabajar, se leccionamos el zip, y  en este caso como vamos a probar con un diccionario numérico de 3 dígitos establecemos que máximo y mínimo 3 dígitos

8.PNG

Entonces vamos a abrir el zip con clave 160 desde kali otra vez.

el contenido del zip es esta imagen con un código de barras, le vamos a pasar por un scanner online:

9.PNG

da error

10.PNG

os acordáis del código fuente del index ¿? esa parte que decía todo está al revés ¿?, pues vamos a invertir los colores

11.PNG

descargamos la imagen y pasamos de nuevo el scanner de qr

11

da esta url : https://goo.gl/klByiQ , vamos a abrirlo, a ver que trae

12.PNG

una apk alojada en mega, vamos a bajarla. en mi caso yo la instalé en mi teléfono, pero lo ideal es tener una máquina virtual para no tener sustos.

Screenshot_2017-03-18-23-52-01.png

vemos que tiene un texto que habla de la gente que se pone en medio vamos un man in the middle, para estas cosas yo uso siempre bettercap o xerosploit, pero con los móviles no funcionan muy bien estos programas así que opte por hacerlo desde el mismo teléfono, baje una aplicación llamada Packet capture que permite ssl, la lancé y alejecutar la app y presionar aceptar obtuve esto

si os fijáis hay un paquete llamado whoami y dentro dese paquete tenemos dos tramas la primera está codificada  , la segunda esta en texto plano pero esa no es la flag final, aún queda un buen camino para terminar

entonces viendo la trama 1 que contiene esto : TEAMWHOAMI=%7B%22ascii%22%3A%22aHR0cHM6Ly90ZWFtd2hvYW1pLTMwY2I5LmZpcmViYXNlYXBwLmNvbS93aG9hbWkuaHRtbA%3D%3D%22%2C%22app%22%3A%22debug%22%7D detectamos que tiene un url encode, vamos a sacarlo a texto plano.

13

como vemos obtenemos otro texto codificado: aHR0cHM6Ly90ZWFtd2hvYW1pLTMwY2I5LmZpcmViYXNlYXBwLmNvbS93aG9hbWkuaHRtbA== , vamos a pasarlo a texto plano

14.PNG

obtenemos otra url : https://teamwhoami-30cb9.firebaseapp.com/whoami.html , vamos a abrirla

15.PNG

valla! esta no es la flag y nos dice que tenemos que realizar ingieneria inversa a la apk , para ello usaremos


apktool d whoami.apk

16.PNG

ahora vamos a ver las carpetas que hemos obtenido de decompilar la app. Como observamos en la captura tenemos un carpeta de la app, y dentro de esa carpeta buscando encontramos otra llamada whoami tambien que parece interesante y ademas incluye el MainActivity, vamos a  abrirlo para ver que hay dentro.

17.PNG

encontramos otra url: https://firebasestorage.googleapis.com/v0/b/teamwhoami-30cb9.appspot.com/o/qr.png?alt=media&token=5cee68ea-8fec-446d-86bb-802e368edb6d , vamos a abrirla

18.PNG

tenemos un qr y un cesar, primero saquemos el cesar:

19.PNG

otra url : https://teamwhoami-30cb9.firebaseapp.com/team.html , ya sabéis no¿? a abrirla

20.PNG

esta tampoco es la flag, dice camino sin salida.

vamos a trabajar con el qr entonces, lo pasamos por el scanner de qr, pero primero tenemos que recortar la parte del texto, solo debemos dejar el qr

21.PNG

22.PNG

el qr devuelve esto: q7Uzc4GAEij/j/ZObaF3ltbrGsDiycEZJGCrpt4wVjmTD/vVLP/fxGtL1+3R6Zx/rbrObgUkjTkKSsotThXJ5LXZAmeBu6HQhYoxSwgVe/kZvcsm6bxlfyGPpBIBo4zhCmA9hiIXk7YUqJzkVzotfj/Y9xIU6ZTWJ6wPnFK/Fscrnn0bJN8ZrhJQFQTQ5L4Vu2+HgfnDj6is6hZtcKnfvlnnbABOZtWdztG2g36iBNg

este texto no una codificación identificable, y en este punto estuve un día entero, esta parte es esteganogafía, por ello vamos a ver los metadatos de la foto original con exiftool


exiftool qr.png

23.PNG

he puesto en amarillo las partes clave de estos metadatos para completar el reto, dos-peces es el algoritmo de cifrado twofish y teamwhoami la contraseña simetrica, vamos a sacar la salida del qr en claro con descifrado twofish

24.PNG

vemos el texto en claro, otra url : https://firebasestorage.googleapis.com/v0/b/teamwhoami-30cb9.appspot.com/o/teamwhoami.apk?alt=media&token=d9521564-4aed-4430-9144-aef8265852e5

y nos lleva a descargar otra apk

25.PNG

la instalamos y tenemos esto:

reto-flag

Links usados:

JPasswordRecover : JPasswordRecover

Lecror códido de barras : Lector código de barras

Inversor de colores : Inversor de colores

Base64 decode : Decodificador base 64

Url decode : Url decode

Decodificador Caesar : Decodificador Caesar

Lector qr : Lector qr

Lector qr : Lector qr

 

 

 

 

 

Quiero agradecer a mi amigo Quartz por la ayuda que me brindó trabajar en equipo en el reto, amigo, somos unos máquinas.

 

 

Anuncios