Entrada

Polyglot - UmassCTF2024

Reto Miscelánea basado en la utilización de diversos protocolos distintos del HTTP.

Polyglot - UmassCTF2024

Autor del reto: unknown

Dificultad: Fácil

Enunciado

“I’ve created a HTTP server that serves not just HTTP but also a few other protocols. Can you find the flag?”

Archivos

En este reto sólo tenemos un enlace.

  • http://polygot.ctf.umasscybersec.org : Enlace a la página web.

Archivos utilizados aquí.

Analizando el código

Si entramos en la página web, observaremos lo siguiente.

Web

Solución

En este punto, nos dicen que tenemos que probar con otros protocolos distintos a HTTP para obtener la flag.

Nosotros como buenos informáticos, sabemos que además del protocolo HTTP, existen otros tantos protocolos como FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol), POP3 (Post Office Protocol), IMAP (Internet Message Access Protocol), ` SSH (Secure Shell), DNS (Domain Name System), SNMP (Simple Network Management Protocol)` y una infinidad de protocolos a jugar.

En este caso, la resolución iba mediante el uso del protocolo FTP en el puerto 80 para obtener una clave SSH.

Con este comando nos conectabamos sin problemas al servidor.

1
ftp polygot.ctf.umasscybersec.org -P 80 

Una vez dentro del servidor, yo siempre recomiendo tirar un help para ver que comandos son los que tenemos disponibles dentro del servidor e ir jugando con ellos.

A partir de aquí podemos probar mil cosas, lo más sensato es intentar conectarnos como el usuario haylin, ya que es el que se lista en la página web.

1
ftp> user haylin

Como nos pide una contrseña, nosotros como buenos CTFplayers, nos tiramos un triple con la contraseña haylin nuevamente y tenemos premio.

1
ftp> pass haylin

Una vez estamos conectados como usuario haylin, nuestra misión será obtener la clave SSH del directorio .ssh para posteriormente conectarnos con ella y leer la flag.

1
2
ftp> cd .ssh
ftp> get id_ed25519

Una vez tenemos dicha clave, tenemos que asignarle los permisos correspondientes para poder usarla nuevamente.

1
$ chmod 0600 id_ed25519

Nos conectamos nuevamente al servidor por FTP usando la clave del directorio .ssh y estamos dentro.

1
$ ssh polygot.ctf.umasscybersec.org -p 80 -i id_ed25519

Leemos la flag y listo!

Flag

UMASS{us1ng_4_tcp_t1me0ut_t0_d3t3ct_ftp_l0l}

Esta entrada está licenciada bajo CC BY 4.0 por el autor.