Experiencia deadface ctf2024 y solución a los retos de TrendyTrove
El pasado fin de semana jugamos la 5ta edición del CTF de Deadface , este es organizado por Cyber Hacktics en esta entrada compartiremos nuestra experiencia jugándolo pero también la solución a los retos de la categoría TrendyTrove, que fue la que mas disfrutamos durante el evento.
Antes de iniciar lo primero es que conozcas que el CTF corre entorno a una historia , esta se comparte a los participantes del CTF para que la conozcan y asocien en las diferentes categorías y retos. personalmente esto fue uno de los puntos del evento que mas disfrutamos, además de la lista de reproducción que compartieron en youtube, el badge que dieron al final del evento y además las piezas graficas que hicieron para cada reto.
La historia :
La historia gira en torno a DEADFACE, un grupo hacktivista conocido por atacar empresas y organizaciones cada año. y que este año, habian puesto en su mira a varias instituciones, como De Monne Financial, Eastern State University y Lytton Laboratories, entre otras. Turbo Tactical, un grupo de hackers de sombrero gris, ha sido reclutado para ayudar a detener los ataques de DEADFACE.
Además idearon 12 miembros diferentes, con conocimientos diferentes y habilidades que pertenecían a la presunta banda DEADFACE
Despues de conocer un poco la historia que corre dentro del CTF y sus retos, ahora si vamos a la experiencia:
El evento duro 34 horas, iniciando un viernes temprano y finalizando el sábado tarde (para nuestro horario local).
Además jugaron 1215 equipos y las categorías contenían retos de :
Forense, OSINT, Web, reversing, pwn, criptografía , steganografia, análisis de paquetes de red, análisis de malware, threat Hunting y programación.
Durante nuestra participación logramos resolver retos de todas las categorías:
Así mismo todo el equipo estuvo jugando lo que permitió tener un buen puntaje, y tener diversos retos completados
Al final del evento logramos quedar en el puesto 143 de 1215 equipos
Si bien quisiéramos hablar y postear todos los solucionarios de cada reto, el objetivo de este post, es socializar el de la categoría TrendyTrove que fue el que mas disfrute.
Categoría TrendyTrove que es ?
Consistía en tres retos de la categoría web , pero relacionados entre si , todo inicia con el reto 1 (Let Me In).
Básicamente es un sitio de scam de ecommerce que había montado DEADFACE,y nos invitan a que entremos al sitio.
El portal nos da un login (usuario y contraseña)
El sitio tenia un SQLi , use este payload , ‘ OR ‘1’=’1 , después de ingresar en un post estaba la flag flag{Tr3ndyTr0v3$QL_1nj3ct10n}
El siguiente reto de esta categoría se llamaba Yalonda
En este reto nos invitan a poder conocer la fecha de una de las victimas del scam .
Despues de un buen rato de no ver por donde avanzar en este reto, supuse que si era admin después de lograr el SQLi en el reto uno , el sitio web debía tener una pagina de admin, entonces lo primero fue ingresar a https://trendytrove.deadface.io/admin.php , allí vi que podía gestionar usuarios, y además un botón de check status que sacaba un error siempre cuando lo oprimía.
A continuación explore la petición cuando se oprimía el botón y vi un comando, a partir de ahí ya supe que era un comand injection posiblemente.
En este punto probé que en efecto el sitio web me permitía enviar comandos siempre y cuando los separara con ;
Como la idea del reto es conocer el cumpleaños de uno de los usuarios de la tabla , use el comando find, para buscar archivos finalizados en .sql
En el resultado del comando habia un archivo llamado init.sql
Finalmente fue lograr armar el comando completo para leer ese archivo , de esta forma command=ping+-c2+8.8.8.8;cat+/var/www/html/db-init/init.sql&check_status=
y en la respuesta se veían diferentes datos como tarjetas, hash y fechas de cumpleaños , ya fue solo buscar el user del reto yalonda
Este reto lo disfrute mucho pues este reto me forzó a combinar diferentes conocimientos, malicia para determinar la ruta, SQLi payloads, conocimiento de estructura en linux y como buscar determinados archivos cuando se requiere uno como en este caso que requeríamos ver los archivos de extensión sql.
Finalmente era el día final del evento y estaba próximo a finalizar y habían retirado mas retos que desarrollamos con el equipo , sin embargo también ya había un nuevo reto de la categoría TrendyTrove.
Reto : compromised data
Aquí nos mencionan que el grupo de DEADFACE robaba también la información de las victimas entre ellas las tarjetas de crédito, no decían nada mas.
Despues de estar sin una luz o avance por un muy buen rato, me cuestione, un atacante donde guardaría las victimas o donde estarían además, que en el enunciado del reto decían que : “cuando lo viera diría flag la flag”, entonces probé un grep buscando la palabra flag con el siguiente payload command=ping+-c2+8.8.8.8;grep+-ri+”flag”+/var/www/html&check_status=
Esto nos devolvía un archivo .csv llamado customers.cve que contenía la flag
Para cerrar, solo puedo decir que esta experiencia en el CTF de DEADFACE ha sido increíblemente enriquecedora. No solo nos desafiamos con problemas complejos, sino que también tuvimos la oportunidad de profundizar en temas que amamos y disfrutamos, como la categoría “TrendyTrove”. Cada reto nos permitió aprender algo nuevo, poner en práctica habilidades técnicas y explorar nuestro lado más creativo para resolver problemas. La intensidad de esas 34 horas, el trabajo en equipo y la satisfacción de resolver los desafíos hicieron de este evento un verdadero deleite.
Participar en el evento no solo fue un reto en sí, sino una oportunidad única para compartir y nutrirnos de una comunidad que disfruta de los CTFs tanto como nosotros. Agradecemos a Cyber Hacktics por una organización impecable y una historia que le dio vida a cada reto. Nos vamos con aprendizajes, anécdotas y, sobre todo, con una gran motivación para seguir mejorando y esperando con ansias la próxima edición. ¡Hasta el próximo DEADFACE!
amm y además tuvimos este cool badge