Continuando con los recursos gratuitos disponibles para practicar nuestras habilidades relacionadas a la ciberseguridad, el día de hoy les traigo esta primer entrega acerca de los retos disponibles en la plataforma picoCTF. Pero antes una breve descripción de dicho sitio:
¿Qué es picoCTF?
picoCTF.org es un proyecto de educación en seguridad informática desarrollado por la Universidad Carnegie Mellon de los Estados Unidos, que inicialmente fue pensado para estudiantes, pero, dado su buen contenido, se ha vuelto muy popular entre la comunidad de ciberseguridad alrededor del mundo. Si aún no tienes una cuenta te invito a que te suscribas, como lo mencioné antes, es totalmente gratis. Comencemos con este reto:

- Reto: GET aHEAD
- Descripción: Encuentra la bandera almacenada en este servidor para continuar en la competición
- Dominio: http://mercury.picoctf.net:15931/


Lo primero que vemos al llegar al dominio proporcionado es esta página con fondo en color rojo y un par de opciones a elegir, un botón para cambiar el fondo a color azul y otro para dejarlo o cambiarlo a color rojo.

Si presionamos el botón de nombre “Choose Blue” veremos que el fondo de la página cambia precisamente a ese color. Fuera de ambos botones no encontramos nada a simple vista que nos pueda dar un indicio acerca de la bandera que estamos buscando. Probemos utilizando la herramienta ‘Burpsuite‘ configurada como nuestro proxy local, junto con nuestro navegador, y así poder ver la comunicación detrás del sitio. Esta aplicación ya viene instalada por default en Parrot Security, la distribución que para este reto estaré utilizando:

Comencemos interceptando las peticiones hechas entre el cliente y el servidor al momento de presionar el botón “Choose Red “. Cómo podemos ver, la petición es un ‘GET’‘. Para ver que pasa después, podemos seguir permitiendo las peticiones o enviar la mismas a la opción ‘Repeater ‘. Para realizar esto último, demos click derecho sobre la herramienta, y seleccionamos ‘Send to Repeater ‘.

Después de reenviar la petición tal cual, podemos ver que el servidor responde con una información que nos puede ser de utilidad. Nos muestra que el mismo acepta tres tipos diferentes de peticiones, GET, HEAD y OPTIONS. ¿Y si probamos modificando la petición original, cambiándola a alguna de las otras dos que también acepta el servidor?

Sólo debemos cambiar el nombre en la cabecera a “HEAD “, pulsar el botón ‘Send ‘ de color naranja, y esperar que responderá el servidor.

Y para nuestra sorpresa… ahí tenemos la bandera🏁 como lo vemos en el recuadro verde -que para fines prácticos, la ofusqué un poco en la captura de pantalla para animarlos a realizar todo el proceso por ustedes mismos, y no simplemente copiar y pegar-.
Así de “sencillo” es como obtenemos la primer bandera y 20 puntos en la sección de explotación web de picoCTF. Happy hacking!