miércoles, 26 de mayo de 2010

Writeup PT200 DefCon CTF 2010 Quals

El reto de trivia200 tenia como pista un usuario, un dominio,, un puerto y la frase: sheep go baaAaaA.

Aunque no lo crean y bajo la presión del tiempo es normal que no se sepa que hacer en esas circunstancias, sin embargo uno de los compañeros de grupo encontró que la clave para acceder por ese puerto era baaAbaaA y listo ya sabíamos por donde empezar.

Una vez entrabas al sistema por SSH, nos encontrábamos con una pantalla negra que no daba mas pistas, lo que uno hace instintivamente es presionar la letra CTRL + todos los caracteres posibles que tenga el teclado tratando de generar errores o por lo menos que se cambie el fondo a algo mas amigable.

Después de algunos intentos se descubre que esa pantalla negra es un editor similar a vi, es por esto que empezamos a probar la combinación de comandos :w, :q, etc, etc, tratando de salirnos del editor, pero no funciona.

unas horas después ...

Reintentamos en el reto y nos aseguramos de que efectiva mente era vi o vim, ya que con algunos comandos podíamos escribir aunque la letra no se visualizaba, es por eso que se me ocurre intentar cambiar el color del fondo, quizás la letra con la que se escribe y el color de fondo eran iguales.

Con el comando: :hi normal ctermfg=white ctermbg=black pude ver lo que escribía y pude ver la salida de los diferentes comandos que ejecutaba. En este punto estaba confirmado que era el editor vim, pero entonces como encontrar la clave?

Intente cosas como:

  • Tratar de leer archivos y directorios (:r [arc|dir]) para "mapear" la estructura de directorios donde estaba, me enteré del chroot y de los comandos limitados que tenia.
  • Abrir la ayuda y cargar archivos para reconocer la versión del vim y el sistema operativo objetivo (al parecer un fedora)
  • Intentar ejecutar comandos con el viejo truco de !comando, pero no había shell disponible en el sistema, puesto que el usuario no tenia shell y no pude encontrar ninguna otra válida (sh, tcsh, zsh, ash, etcsh).
  • Cargar el archivo de arranque del vim, llamado .vimrc, este archivo si abrió y pude ver todas las configuraciones que habían realizado.
  • Tratar de grabar un archivo en algún lugar para luego ejecutarlo, pero todo estaba en modo lectura y aunque intenté quitárselo con los parámetros "set" de vim, no funcionó.
Y así, una y otra cosa hasta que decidí empezar a probar al azar (es muy raro pensar que esto no se me ocurriera antes, pero siempre sucede así) y traté de leer el archivo llamado key.

Al parecer era la clave correcta

Siiiiiiiiiiii!!!!!!!!!, 200 puntos mas.
;)

Entradas populares