Competencia de Captura la Bandera en Ekoparty 2023: GitHub como plataforma central

Elena Digital López

GitHub, como patrocinador de Ekoparty 2023, tuvo una vez más la oportunidad de presentar varios desafíos en la competencia Capture The Flag (CTF) del evento. Empleados de toda la organización de Seguridad de GitHub se unieron para idear, planificar, construir y probar estos desafíos, con el fin de crear una serie de problemas atractivos, educativos y desafiantes para que los jugadores los resuelvan.

Este año, el enfoque volvió a ser GitHub y la funcionalidad de Git, tanto para proporcionar desafíos contextualmente relevantes para los usuarios de GitHub, como para ayudar a educar a la comunidad de seguridad sobre algunos desafíos comunes al usar estas herramientas. La temática de este año fue «retro», y algunos de los desafíos giraron en torno a la ficticia OctoHigh High School en el año 1994.

Uno de los desafíos destacados fue «Entrypoint», que requería de los participantes encontrar una bandera oculta dentro de un repositorio privado en GitHub. Los jugadores recibían una pista obvia en los comentarios de las instrucciones de registro, sugiriendo que había una bandera oculta en el repositorio.

El archivo README.md del repositorio contenía caracteres fuera del espacio a-zA-Z0-9, utilizando homoglifos que son difíciles de detectar manualmente, por lo que una solución óptima era un enfoque programático. Por ejemplo, se proporcionó un script en Python para extraer estos caracteres no coincidentes y revelar la bandera.

Otro desafío interesante fue «Snarky Comments», centrado en la posibilidad de inyección de código al analizar el cuerpo de un problema en GitHub. Los jugadores tenían que crear un problema en su repositorio de desafíos utilizando una plantilla y luego explotarlo para ejecutar comandos arbitrarios y revelar el contenido de un secreto.

Además, el desafío «Fork & Knife» también se centró en GitHub Actions, destacando el uso problemático de «pull_request_target» en un contexto no confiable y potencialmente sensible. Los jugadores debían abrir un pull request ejecutando un script que revelara un secreto al utilizar esta funcionalidad.

Otros dos desafíos, «Git #1» y «Git #2», se enfocaron en la mecánica de un repositorio Git. El primer desafío requería encontrar diferencias entre un repositorio real y una versión modificada disponible en un servidor remoto. El segundo desafío implicaba usar un Dockerfile, leyendo un archivo hash y aprovechando una configuración de Git específica para obtener el contenido de un commit eliminado.

En resumen, Ekoparty 2023 fue una oportunidad educativa y divertida para que la comunidad de seguridad se enfrentara a problemas desafiantes y aprendiera más sobre el uso seguro de GitHub y las herramientas de Git. GitHub agradece a Ekoparty por la oportunidad de contribuir nuevamente a su evento, y espera con ansias los próximos desafíos.

Scroll al inicio