El pasado miércoles publicamos en nuestro blog un desafío orientado a aquellos lectores un poco más curiosos e intrépidos. Los primeros en resolverlo se ganaban el ingreso gratis a la ekoparty 2011 que se desarrollará, del 21 al 23 de septiembre en Buenos Aires, Argentina.
Se trataba de un desafío en línea que estaba compuesto por cinco niveles diferentes de dificultad. Para resolverlo, era necesario pasar por cada uno de ellos hasta llegar a la palabra secreta del final que era la clave para obtener las entradas a la eko.
En fin… ¡manos a la obra!
Nivel 1
Los desafíos constaban mayoritariamente de una ventana de ingreso que solicitaba una contraseña. El primer nivel era bastante sencillo. Al acceder al código fuente, el lector podía comprobar que en la primera línea del cuerpo del código se realiza una asignación de la cadena null. En seguida, se realiza una comparación, que en caso de ser verdadera, abría la página /ekoparty/null.htm para pasar al siguiente desafío.
Al llegar al siguiente problema, el lector se encontraba directamente con la petición de la contraseña que lo llevaría al tercer nivel. Para poder resolver este caso, era necesario cerrar la ventana y volver a analizar el código fuente de la página web. Este nivel contaba con una pequeña trampa. A pesar de tener la contraseña alojada en texto claro (una muy mala práctica en seguridad), el lector podría encontrarse imposibilitado de seguir adelante si no realizaba la autenticación con cuidado. La fuente utilizada (Courier New) era cómplice en este caso, ya que juega un papel fundamental en confundir al usuario haciendo que la “L” parezca un “1”. Superando esa sutil diferencia, el lector podía acceder al siguiente nivel sin problemas.
Nivel 3
Para este nivel era necesario analizar un poco más el código html. Cuando se hace la asignación en la variable pwd, se guarda el valor del color de los enlaces activos. Ese número, lo podemos ver definido al comienzo del body. El desafío era percibir ese detalle para ingresar #001000 y continuar con el siguiente nivel. Vale aclarar que la hoja de estilo puede ser también analizada, no obstante actúa como mero distractor ya que no aporta nada para la solución del ejercicio.
Nivel 4
Al abrir el código fuente de la página que corresponde al nivel 4, en primera instancia, no se encuentra nada llamativo. Sin embargo, al observar detenidamente, se encuentra un atributo href, utilizado en HTML para direccionar a un enlace, que en este caso contenía un pequeño script oculto en Javascript. Allí se aloja la contraseña requerida para pasar al siguiente ejercicio. Es importante resaltar que ante este tipo de prácticas se recomienda un mecanismo de cifrado para la contraseña, o bien el uso de un protocolo seguro como HTTPS.
El quinto y último nivel se trataba de una vulnerabilidad similar a la cuarta. En este caso, sin embargo, el lector se encontraba con una porción de código en Javascript que estaba embebido dentro del HTML y no a través de un href como en el ejemplo anterior. Adentro de ese script se encontraba la clave necesaria para continuar.
Ingresando la última contraseña se puede acceder a la página final del desafío que mostraba el siguiente mensaje:
Felicitaciones y gracias por participar en el desafío. La palabra secreta es: "¡Quiero ir a la eko!"
Queremos anunciar entonces que Roberto Rogunix y Pepe Kaballa fueron los dos primeros en responder correctamente al desafío por lo tanto ¡se quedan con las entradas para la ekoparty 2011! En breve estaremos entrando en contacto con ambos para poder hacerles entrega de sus premios.
Felicitamos a los ganadores y, además, a todos los participantes por animarse a resolver los problemas. Esperemos que lo hayan disfrutado y estén atentos a los próximos desafíos de parte del Laboratorio de ESET Latinoamérica.
¡Hasta la próxima!
Raphael Labaca Castro
Especialista en Awareness & Research