· Manuel López Pérez · writeups · 2 min read
Resolviendo los retos básicos de Atenea (CCN-CERT) 3/3
Tercera y última parte de los retos básicos de Atenea (CCN-CERT): tipos de datos, bash, Python, C y Java, incluyendo compilación y descompilación.

Resolviendo los retos básicos de Atenea (CCN-CERT) 3/3Buenas de nuevo, vamos a terminar los retos básicos de https://atenea.ccn-cert.cni.es Esto es la tercera parte, si queréis ver los anteriores: Parte 1 Parte 2
Reto 13 - Variable
Enunciado:
Para superar este reto, deberás identificar, entre las siguientes declaraciones de variables, cuál de ellas tiene asociado un tipo de datos erróneo:
byte num = 44; short med = 1223; long lmax = 839492019487; float mreal = 112.31f; double rbig = 761132.4321; boolean bbin = true; int max = "1000"; char lett = 'A';La solución al reto es el nombre de la variable (por ejemplo: vbar), en el formato de la plataforma.
Solución:
Cualquiera con unas nociones basicas de programación se dará cuenta de que a la variable max se le ha asignado una cadena en vez de un entero. La solución por tanto es: max
Reto 14 - Variable 2
Enunciado:
Para superar este reto, deberás encontrar el equivalente en BASH, de la siguiente línea de código en BASIC: PRINT “Atenea”
Solución:
Conociendo un poco la notacion de bash resolveremos fácilmente este reto; se utiliza el comando echo para mostrar cadenas por pantalla:
echo "Atenea"![]()
Reto 15 - Python
Enunciado:
Para superar este reto deberás obtener el valor de la variable result del siguiente script en python, que te dará el password que necesitas.
Solución:
Para obtener el valor de una variable en python y mostrarla por pantalla usamos print, asi que bastara con añadir al final del fichero la linea:
print resultPara esto vamos a usar un simple comando de bash, y ejecutamos el script:
echo "print result" >> script-6a21d37e6d6a4c87c06ba3ec40e28e0c.py python script-6a21d37e6d6a4c87c06ba3ec40e28e0c.py 
Reto 16 - C
Enunciado:
Para poder superar este reto deberás compilar y ejecutar el siguiente código en C.
Solución:
Ni si quiera hace falta compilar el programa, bastaría con ver el contenido de la variable que muestra por pantalla. Pero el objetivo de este reto no es ese, así que vamos a compilar y ejecutarlo:
gcc pass-8fee4bb1bd3340423ecda42c36b5ba5a.c -o pass ./pass
Reto 17 - Java
Enunciado:
Para poder superar este reto deberás descompilar, es decir, obtener el código fuente, del siguiente programa compilado de Java, para obtener el valor de una variable en concreto.
Solución:
Para decompilar los .class de java podemos usar esta web: http://www.javadecompilers.com/ O hacerlo a mano desde la terminal
jad main-0be7342133d811710a0b94038f70e423.classBuscando entre el código obtenido vemos rápidamente el contenido de la variable deseada: String ThisIsTheVariableYouAreLookingFor = “30853506b923083a”;
![]()
