Bueno bueno, se nos acaba la Temporada 10 del ESLMasters, y con ella, nuestro CTF #FromZeroToLynx, por lo que va siendo hora de que vayamos comenzando a liberar las soluciones a los primeros retos de la temporada anterior... ¿verdad?
Hoy comenzaremos por los retos de la categoría más sencilla, Plata, realizados durante la pasada Temporada 9 del ESL Masters de CSGO. Esperamos que os sea de utilidad para ir mejorando poco a poco en el mundo de los Capture The Flags.
Las soluciones han sido aportadas por el ganador del torneo, que se llevó un fantástico portátil de gaming como trofeo, un certificado acreditativo por la hazaña y, un puesto de trabajo en Zerolynx dentro de nuestra área de Seguridad Ofensiva.
¡Os dejamos con su Write-Up a continuación! Y permaneced atentos a nuestras redes sociales, que a las 18:00h anunciaremos los ganadores de la última edición del CTF.
Aim Training
Correo
Flag: ESL{C0mPr1midoE5m3j0R}
Sad bird
Flag: ESL{d0_U_f0lL0w_Us?}
Canal... ¿seguro?
Se nos proporciona un archivo PCAP con cierta información relevante. En estos casos se suele utilizar Wireshark para ver que puede esconder. Si nos fijamos bien, hay una petición que solicita un archivo flag.zip y lo bueno es que la respuesta a dicha petición, es decir, el archivo flag.zip está incluido en la captura, por lo que solo habrá que exportarlo y ver que contiene.
Mediante el comando 7z podemos ver el contenido del archivo exportado.
La flag estará contenida en el archivo flag/.code/.core.bat.
Flag: ESL{TH1S_1S_TH3_FLAG_MY_FR13ND}
Pretorianos
La respuesta al texto en claro obtenido es legendaryeaglemaster, cuyo criptograma generado mediante el cifrado cesar será la flag.
Flag: ESL{ohjhqgdubhdjohpdvwhu}
Pi Pi Piiii
Se nos adjunta una imagen que oculta algo interesante. En primer lugar si hacemos un simple strings al fichero podemos ver una línea escrita en lenguaje morse.
Por lo que si usamos alguna herramienta online podremos descubir cual es la flag.
Flag: ESL{3ST0_3$-UN4=FI4G_V41ID4}
Wallhacks
Se nos adjunta el número identificativo 76561199151583346 asociado a un jugador que hace trampas. Aquellos que hayan jugado en Steam sabrán que este número cuadra con el asociado a cada perfil de un jugador. Por lo que si buscamos este id y miramos el historial de nombres de usuario usados podremos encontrar la flag.
Flag:ESL{¡ElOSINTSeTeDaMuyBien!}
Codificado
Se adjunta un fichero que contiene una cadena de texto correspondiente a un base64, que a su vez descodificado corresponde a un fichero zip, por lo que se procederá a descodificarlo y volcarlo sobre un fichero.
$ cat message | base64 -d > file.zip
El único problema es que dicho fichero zip esta protegido con contraseña, sin embargo, si hacemos un string al fichero zip podremos ver una línea con la contraseña para descifrar dicho fichero y obtener la flag.
Flag: ESL{BaSe64_h1D3s_mArV3l0uS_tH1nGs_1sNt_1T?}
Muerte en el jardín
Se adjunta un fichero con una cadena de texto en base64, la cuál si descodificamos nos dice que la flag es ESL{base64(cobblestone)}. Por lo que si hacemos el base64 de dicha cadena obtendremos la flag.
$ echo "cobblestone" | base64
Flag: ESL{Y29iYmxlc3RvbmUK}
Bomb has been planted
En este reto se nos ajunta un binario que corresponde a la desactivación de una bomba del csgo y una linea de comando con netcat para una vez reverseado el binario enviar el codigo de desactivación correspondiente. Sin embargo no será necesario reversear el binario dado que el código de desactivación viene en internet. Se introducirá dicho código y se obtendrá la flag.
Flag: ESL{S13mPr3_H4y_Qu3_Pl4nT4R_3n_lUg4R_S3gUr0}
Shoot to kill!
Se nos adjunta un fichero con un modelo 3D de un AK47. Si utilizamos el visor 3D de Windows o alguna herramienta online podremos ver que en la tapa del percutor estará escrita la flag.
Flag: ESL{BANG!}
Victory's sound
Se adjunta un archivo MP3 con cierta información oculta en el mismo. Si usamos herramientas de análisis de audio como Sonic Visualizer y abrimos el espectrograma podremos ver la flag buscada.
Flag: ESL{H4CK_TH3_B0MB}
Farm
En este reto se adjunta un fichero BSP correspondiente a un mapa de csgo, sin embargo si aplicamos el comando strings podremos ver que oculta la flag buscada.
Flag: ESL{MuyBienMatasteAlPolloCorrecto}
Rush B!
En este reto se nos adjunta un fichero comprimido, el cuál si se trata de descomprimir, pronto nos daremos cuenta que tiene una infinidad de directorios. Sin embargo, si en vez de descomprimirlo simplemente listamos y filtramos para ver solo los archivos, podremos ver uno de los archivos que contiene la flag.
Flag: ESL{Bu3n_s1t10_p4rA_P1ant4R}