Español | English
rss facebook linkedin Twitter

Entrevista a los organizadores del CTF de la Rooted CON

Esta es una entrevista donde se pregunta a Dreyer y Román (aka RoMaNSoFt), organizadores del Capture The Flag de la Rooted CON, sobre este evento y su preparación. Ha sido cedida por cortesía de SecurityByDefault y el propio Román, ya que debía publicarse antes de la celebración de la Rooted pero al final no llegó a ver la luz. A continuación se transcribe su contenido, modificado levemente y añadiendo algunas preguntas.


¿Cuánto tiempo os costó organizar el CTF?

Román: ¿Te refieres a la parte técnica o más a alto nivel? Empezando por lo primero, me uní al equipo CTF allá por diciembre de 2009, para echarle un cable a mi buen amigo Dreyer y porque preferí centrarme en temas más técnicos, una vez bien encarrilados los temas organizativos del Congreso y después de una serie de tristes acontecimientos que ahora no vienen al caso.

Respecto a lo segundo, el CTF se empezó a fraguar ya en marzo de 2009, cuando sólo estábamos los 4 miembros fundadores de la Rooted y cuando todavía no se me había ocurrido lo de "Rooted" como nombre del Congreso, así que imagínate si nos lo tomamos con tiempo. Decidí pedir ayuda a mi buen amigo Dreyer y desde ese momento él es el responsable de CTF.

Lo que la gente no sabe es que un concurso de estas características, si se hace bien, lleva mucho trabajo. Me refiero a que hay que idear pruebas chulas y originales -que esto ya lleva su tiempo-, programarlas (más tiempo) y además ponerte en la piel del concursante, tanto para valorar su dificultad, como para averiguar qué posibles caminos se podrían seguir hasta su resolución, cerrando aquellos que no se consideren apropiados. Y por supuesto hay que diseñar toda la infraestructura técnica por detrás, que dé soporte a las pruebas (red, sistemas, seguridad, etc). Recordemos que nuestra labor es crear "cosas" que serán explotadas y por tanto, debemos introducir vulnerabilidades adrede. Es crucial saber controlarlas para que nadie las utilice para otra cosa que no sea resolver la prueba en cuestión y te acaben reventando el concurso (servidor comprometido, información "leakeada" sobre otras pruebas, etc).

Dreyer: Y no te olvides del framework de gestión del concurso! :) Bueno, creo que Román ha respondido con creces a la pregunta. Lleva mucho tiempo, y muchas noches de poco sueño.


¿Ha sido vuestro primer CTF como organizadores?

Román: Llevo muchos años participando en retos pero nunca se me había ocurrido tomar parte en la organización de uno. Ha resultado más enriquecedor de lo que pensaba :)

Dreyer: Para mí es mi cuarto CTF, he sido organizador en la iparty del CTF de 2002, 2003 y 2004. También monté el CTF en una de las campus party (2002), utilizando parte de la infraestructura que ya tenía preparada para las iparty.


¿Se han cumplido las expectativas en cuanto a participación?

Román: En cuanto a número, hubo gente que se echó a atrás en el último momento debido a las restricciones de sala que impuso la Organización. Posiblemente si hubieramos dispuesto de WiFi, propuesta que no fue aprobada, la participación hubiera sido mucho más alta. Pero con eso y con todo, la sala estuvo siempre más o menos a un 80% de capacidad.

Por otro lado, la calidad de los concursantes ha sido muy alta, estando entre ellos viejos conocidos, y también otros que no conocíamos (pero que también han demostrado su valía).


¿Qué tipo de pruebas se han incluido en este primer CTF?

Román: Ha habido de todo: web, exploiting, forensics, crypto, reversing... Te pongo un par de ejemplos de las que yo diseñé. Una era una tienda online (web) y el objetivo era comprar un artículo para el cual no tenías dinero suficiente. En la tienda podías registrarte, ver artículos, comprar... Vamos, toda una mini-implementación de tienda electrónica hecha "from scratch" (esto responde también a tu primera pregunta: la del tiempo empleado :)) El otro ejemplo: se ha interceptado un mensaje y un fichero cifrado, y de ahí había que obtener la key, que estaba dentro. Para ello había que saltarse un pequeño truco de anti-forensics que ideé ex profeso para el concurso.

Dreyer: Para haceros una idea podéis bajaros el content que cree en los años de las iparty, aunque en aquel caso era prácticamente todo Linux.


¿Tenéis pensado ponerlas online?

Román: Las pruebas web las voy a poner online en breve (¡apuntaros a mi Twitter o al RSS de mi web para ser los primeros en enteraros!), porque tengo alguna espinita clavada (nadie consiguió superar mi tienda online :-(. También es posible que haga algún solucionario puntual (no prometo nada). Las máquinas virtuales no se publicarán.


¿El nivel de las pruebas se ha ajustado al público asistente?

Román: Sí, en parte. Teníamos bastantes pruebas en la recámara (más de 20), y en el concurso finalmente se liberaron “sólo” 16 (si no recuerdo mal). Fuimos adaptando el nivel, según la situación lo requería, y entremezclando pruebas más sencillas con otras más complejas.


¿Ha habido alguna diferencia con otros retos hechos en España?

Román: Lo primero, se diseñó por y para fanáticos de los retos :) La reputación de alguien como Dreyer, que ha competido en la mismísima DEFCON, con los mejores del mundo, es incuestionable. Cuando pensé en él como responsable del CTF del Congreso, sabía que no podía ser otro :)

Además, se ha pretendido plasmar en el concurso toda la experiencia acumulada hasta el momento en otros retos en los que hemos participado (o en el caso de Dreyer, incluso organizado). No todo el mundo puedo decir que ha participado y clasificado en quals como Codegate, DEFCON, etc.

Dicho lo anterior, se siguió el modelo DEFCON-prequals (pruebas muy variadas y lo más realistas posibles, tratando de evitar "la idea feliz", en la medida de lo posible).

Dreyer: Vaya Román! Tu también tienes mucha solera en participación de retos! Y eso es lo que esperábamos que se reflejara con nuestras pruebas, la diversión y tipos de prueba que nos gusta encontrar en este tipo de retos.


¿Qué herramientas recomendáis llevar a este tipo de competiciones?

Román: La mejor tool es tu cerebro :) Y conocer cómo funcionan los sistemas por dentro. Una base de programación y tu portátil preparado para hacerte algún scriptillo (python, etc), poder compilar, algún live-cd Linux estilo BackTrack, debuggers (IDA/Olly/Gdb) y alguna máquina virtual para poder hacer pruebas también ayudarán (muchas veces es preferible poder hacer pruebas "en local"). Pero realmente no todo lo anterior es imprescindible.


¿Cuáles son las especificaciones mínimas hablando de hardware?

Román: Nada especial, un ordenador corriente y moliente vale (ni siquiera hace falta que sea "de los de ahora": Core 2 Duo, 4 Gb..). Yo en casa trabajo con un portátil con 768 MB y monoprocesador, y he conseguido resolver/ganar retos :)

Dreyer: Un simple netbook bastaría! Básicamente cualquier cosa que tenga soporte ethernet + pila TCP/IP.


¿Cuáles son vuestros CTFs favoritos (en cuanto a organización, pruebas realizadas...)?

Román: Sin lugar a dudas, DEFCON (USA) y Codegate (Korea).

Dreyer: La final en DEFCON es un poco diferente al estilo de juego que la mayoría sigue (ataque/defensa en lugar de pruebas individuales), y desde luego es la mas prestigiosa. La Codegate tiene una organización e infraestructura brutal. Desde luego son las dos que más me gustan. Una por tipo de competición y la otra por el despliegue de medios.


¿Alguna crítica sobre alguno de ellos?

Román: Ummmmm, pues hace poco participamos en las quals de Codegate (¡quedamos terceros!) y, aunque en general estuvo muy bien, hubo alguna que otra prueba de "idea feliz" que no logramos resolver (puñetero forensics, ¡arghhh!). En general, para un técnico, las pruebas de "idea feliz" son las más temidas ;-)

Dreyer: Y es por eso mismo que en el CTF de la Rooted intentamos evitar al máximo caer en ese juego!


¡Muchas gracias a los dos! ¿Unas últimas palabras?

Román: No :-) Ahora en serio… que os animo a que participéis en este tipo de retos y concursos porque se aprende muchísimo. Muchas gracias (y espero que alguien de S21sec sea el primero en resolver alguna de las pruebas online de las que podréis disfrutar en breve).


Jose Miguel Esparza
S21sec e-crime

3 comentarios:

dreyercito dijo...

A modo de curiosidad para evitar las triquiñuelas que siempre existen en estos concursos las maquinas linux del concurso disponian de un kernel ligeramente modificado ya que para cada una de las pruebas se utilizaba un mismo uid por parte de cada participante:



1) El cwd en el proc de los procesos de los concursantes siempre apuntaba a a raiz: para evitar la copia de pruebas a medio hacer (dentro del mismo servidor) por parte de otros concursantes.

2) Limitamos dos operaciones para los uids de las pruebas:

2.a) No se podia utilizar ptrace() a procesos del resto de usuarios desde una sesion diferente (no podias "engancharte" a los procesos de otro participante realizando la misma prueba).

2.b) No se podia enviar señales a procesos del resto de usuarios desde una sesion diferente. Principalmente para evitar kill() y matar procesos de otro concursante.

f0n dijo...

muy buena.
Saludos

miguel dijo...

un 10 para el CTF de la Rooted!

como participante del evento, y como organizador habitual de "estos saraos", sólo puedo quitarme el sombrero delante de estos señores.

enhorabuena!!


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login