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!
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!.