NN6ED - Chemical X (100pts)

Buenas, amigos de lo retarded!

Sí, ya sé que vamos tarde para publicar esto. Lo que ha pasado es que no teníamos dónde colgarlo hasta hace bien poquito. Sin más, después de la excusa os dejamos el writeup del reto de crypto Chemical X de NN6ED.

Fase 1

Fase 1

En la primera fase se nos da un poquito de background y nos ofrecen una imagen para descargar. En cuanto la descargamos vemos que no es posible abrirla como tal, así que tiramos de xxd para mirar dentro:

Hexa foto

Lo primero que vemos es la string ITS_A_KEY? en lugar de la cabecera correcta, por lo que procedemos a corregir el error:

Hexa foto

Ahora ya podemos abrir la imagen correctamente, en la que se muestra la flag de la primera fase del reto:

Hexa foto

Fase 2

Fase 1

En esta fase se nos proporcionaba la misma imagen. Lo primero en lo que pensamos era en esteganografía, debido a la string ITS_A_KEY? en la cabecera de la imagen, por lo que nos tiramos de cabeza con implementaciones de LSB. Tras probar con varias herramientas, finalmente conseguimos extraer la información con una tool llamada cloacked-pixel, el segundo resultado de una búsqueda por python lsb en Guguel. Ejecutamos la tool con la clave obtenida anteriormente de la cabecera de la imagen de la fase 1 y la imagen buena:

Hexa foto

Como vemos, obtenemos una clave pública RSA que presuntamente pertenece al usuario nope en challenges.ka0labs.org. Llegados a este punto, intentamos varias aproximaciones sin éxito para conseguir la clave privada. Al final se nos pasó por la cabeza factorizar la clave RSA (duh!) usando FeatherDuster, de NCC:

Hexa foto

Listo! Copiamos la clave privada a un fichero, asignamos los permisos correctos a la clave (chmod 600 nope) e intentamos acceder por ssh a challenges.ka0labs.org con el usuario nope usando dicha clave:

Hexa foto

Una vez dentro de la máquina, nos dedicamos a echar un vistazo y comprobar qué somos capaces de ver/hacer:

Hexa foto

Como vemos, estamos bastante limitados. Además, pasado un tiempo nos echa automáticamente, por lo que debemos ser rápidos. El contenido del fichero hint simplemente tiene la siguiente frase repetida hasta la saciedad:

The more you try, the closer you are

Finalmente decidimos echar un vistazo en la última ruta que nos queda por mirar proporcionada lpath, /usr/bin, en busca de binarios con setuid cuyo propietario sea el usuario noruas, ya que solo dicho usuario tiene acceso a su $HOME y no podemos mirar en ningún otro sitio. Ahí encontramos lo siguiente:

-rwsr-xr-x 1 noruas root   39776 Nov  7 17:10 more

Aquí ya empezamos a probar lo típico (more /home/noruas, more /home/noruas/flag), hasta que dimos con el fichero con la flag:

Hexa foto

Y listo! Todo esto no habría sido posible sin que wHiTeHand hubiera recuperado el reto para que podamos hacer el writeup en condiciones. Desde aquí queremos mandarle unos besis y unos muakis húmedos.

Made with lots of coffee and Hugo.