Como parte de un encargo, tuvimos la oportunidad de organizar una competición CTF. «CTF» significa «Capturar la bandera» y describe un tipo de olimpiada de hacking en seguridad informática. Los participantes demuestran sus habilidades en equipo o en solitario resolviendo tareas desafiantes. El objetivo es encontrar las llamadas «banderas» (llaves ocultas) para acumular puntos. El equipo con más puntos gana la competición al final. Aunque algunos miembros del equipo ya tenían experiencia individual con los CTF, fue un nuevo reto organizar un evento así desde cero.
Objetivo
La tarea consistía en desarrollar un evento de hacking para un cliente que sensibilizara a los participantes sobre los riesgos de la seguridad informática y los familiarizara con los métodos de ataque. El enfoque CTF ofrece algunas ventajas claras sobre los métodos de formación convencionales: La interacción directa con los problemas de seguridad fomenta una comprensión más profunda de la seguridad informática. El aspecto lúdico, en particular, hace que la motivación de los participantes sea siempre alta, lo que lo diferencia de las conferencias.
Establecer la infraestructura: El entorno del juego CTF
La primera cuestión era cómo debía diseñarse la infraestructura técnica para garantizar un proceso fluido a los participantes. A cada tarea se le asignó una máquina virtual independiente a la que los equipos tenían acceso. Nos decidimos por AWS y creamos varias instancias de Ubuntu a las que sólo se podía acceder a través de un servidor VPN para sellar el entorno. Para gestionar el progreso y la puntuación, utilizamos CTFd, un framework de código abierto específico para eventos CTF. La usabilidad era muy intuitiva y nuestros retos se podían incrustar muy bien con las banderas almacenadas. La plataforma servía de panel de control y, por tanto, era el primer punto de contacto para los participantes.
Los retos: donde la creatividad se encuentra con las lagunas de seguridad
A la infraestructura le siguió el diseño de los retos. Queríamos ofrecer una serie de retos que cubrieran distintas áreas de seguridad, incluida la seguridad web, la red y los errores de configuración. Los ejemplos incluían un reto de API que ponía de manifiesto errores clásicos de desarrollo de API, una aplicación web de inicio de sesión y un laberinto de rastreo en el que el sistema de archivos era un laberinto diseñado para despistar a los jugadores. Para nosotros era importante que cada tarea reflejara distintos niveles de dificultad y expusiera a los participantes a una amplia gama de vulnerabilidades, desde las lagunas más fáciles a las más difíciles. Si era necesario, se podían intercambiar pistas por puntos. Tras una fase de pruebas internas, el evento estaba listo para su lanzamiento.
El evento: Cuando los desarrolladores se convierten en hackers
Participaron cuatro equipos de tres a cuatro desarrolladores. Como en los estudios y la formación suelen ocupar un lugar central otros temas, el área de la seguridad informática suele descuidarse en el desarrollo de aplicaciones. Por ello, la mayoría de los participantes no tenían conocimientos previos en este ámbito, pero esto no fue un obstáculo. A lo largo de cuatro horas, los equipos trabajaron intensamente en la ciberseguridad, desarrollaron soluciones y buscaron incansablemente la siguiente bandera. Las reacciones de los participantes fueron muy positivas. Muchos dijeron que habían adquirido nuevos y valiosos conocimientos, lo que coincidía con nuestro objetivo de concienciar sobre los riesgos de seguridad. También fue emocionante para nosotros ver cómo a los participantes se les ocurrían soluciones innovadoras que nosotros mismos no habríamos esperado. Como ocurre a menudo, hay varias formas de alcanzar un objetivo.
Revisión y perspectivas
El acto fue todo un éxito, y sin embargo: nada es perfecto. También pudimos adquirir valiosos conocimientos. Una lección clave fue que un gran número de retos a menudo puede resultar abrumador para los recién llegados. Muchos participantes tenían ganas de enfrentarse a los retos uno tras otro y de hincarle el diente a algunos. En principio, esto es positivo, ya que demuestra perseverancia y voluntad de resolver problemas. Sin embargo, debido a lo limitado del plazo, merece la pena adoptar un enfoque más amplio y probar distintos retos. Esto refleja el pentesting de la vida real, en el que también se establecen plazos fijos. Para identificar eficazmente los puntos débiles, es crucial adoptar un enfoque estratégico y no dedicar demasiado tiempo a retos individuales para no perder de vista el panorama general. Ya hemos desarrollado algunas ideas para futuros eventos basadas en esto y seguiremos optimizando la estructura de las tareas. En general, esta primera competición CTF fue un experimento emocionante y resultó muy divertida tanto para nosotros como para los participantes. Ya estamos deseando introducir a más gente en el sector de la seguridad de una forma divertida en el futuro. Un breve resumen del montaje técnico:
- Se eligió a AWS como proveedor de alojamiento
- Se seleccionó CTFd como plataforma de CTF (como una especie de tablero de mandos para los retos y los puntos recogidos por los participantes)
- Los usuarios / equipos se registran allí y pueden ver los retos desde allí
- todo tiene lugar dentro de una VPN
- los retos fueron creados especialmente por nosotros
- Cada desafío ofrece previamente un breve texto introductorio, cuyo objetivo es proporcionar información sobre la posible vulnerabilidad de seguridad
- hay retos en una amplia variedad de áreas (API, web, rastreo, etc.) con diferentes niveles de dificultad