jueves, 26 de diciembre de 2013

Writeup prueba 2 - h4ckc0nt3st - GSICKMINDS 2013



IWANTTOBELIEVE

El binario está compilado para ARM, se ha usado una Rpi para ejecutarlo.

Cuando se ejecuta, mira el contenido de /proc/cpuinfo y busca el string "MU-TH-R 182", si no lo encuentra, el programa finaliza.


Si se crea un chroot y en el se cambia el contenido de /proc/cpuinfo para que contenga ese texto, el programa continua y saca este texto.


Your token has been written, read it now before it expires.
To validate the token you will need to enter it uppercase with no white spaces.
Thanks.
Temporal token expired.


Si lo ejecutamos con strace, podemos ver que escibe algo en /tmp y luego lo borra


nanosleep({5, 0}, {4, 3936093})         = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
unlink("/tmp/.muthr_tmp_token")         = 0
write(1, "Temporal token expired.\n", 24Temporal token expired.


Así que ejecutamos gdb para pararlo antes de que borre el fichero:

- break on __libc_start_main
run
- break on unlink
continue


file /tmp/.muthr_tmp_token


.muthr_tmp_token: GIF image data, version 87a, 200 x 250


IWANTTOBELIEVE


token.gif



No hay comentarios:

Publicar un comentario