domingo, 5 de junio de 2011

WriteUP GB200 CTF QUALS DEFCON

En el reto "Grab Bag" 200 encontramos un servidor corriendo en el puerto 6000 y para el cual nos dan la clave: "Never\$olv3d!". Cuando nos conectabamos al puerto y enviamos cualquier carácter obteníamos la siguiente salida:
000111222333444555000111222333444555000111222333444555

Después de esto el sistema esperaba una entrada y respondía con otra fila de números similar o con un mensaje de mensaje incorrecto. En el análisis encontramos:

1. Los números solo eran desde el 0 al 5.

2. El mensaje de error se generaba cada 4 números, por lo tanto lo que el sistema esperaba era de 4 números. Por lo que teníamos posibles combinaciones de 0000 a 5555.

3. Si no respondiamos una supuesta secuencia correcta entonces se generaba un error.

La solución:

Después de probar diferentes cosas intenté con cada combinación de números así: 0000, 1111, 2222, 3333, 4444, 5555, el único que generó una respuesta diferente fue: 2222, con este número obteníamos un "0" y luego el programa abortaba (close socket).

Intenté entonces enviarle la información de otra manera:

$perl -e 'print "Never\$olv3d!\n"' | nc pwn522.ddtek.biz 6000

y al ver que lo podía hacer, entonces envié el caso especifico del 2.

$perl -e 'print "Never\$olv3d!\n2222"' | nc pwn522.ddtek.biz 6000
000111222333444555000111222333444555000111222333444555
000111222333444555000111222333444555000111222333444555
Let's not be too rough on our own ignorance; it's what makes America great!

Busqué esta frase en Internet y encontré que el autor era:  Frank Zappa 
Intenté varias combinaciones en el scoreboard, pero finalmente use la clave:
KEY= "Let's not be too rough on our own ignorance; it's what makes America great!"

Resultando ser la KEY correcta =>  + 200.
Fácil no? :P

Pd
Este reto fue resuelto durante una clase de seguridad con los aprendices del SENA, gracias a ellos!.

Entradas populares