En el décimo desafío de ESET se cuenta con dos archivos sin extensión y ante todo se debe determinar de qué tipo son. Para ello basta con abrirlo con cualquier editor de texto y se puede ver que la cabecera es la siguiente: 89 50 4E 47 %PNG

Como es fácil adivinar se trata de archivos de imagen del tipo PNG por lo que se procede a renombrarlos y abrirlos con un visor de imágenes. En ambos casos se verá la imagen del sitio de Elk Cloner (nombre del primer virus). En este punto hay que destacar que "ElkCloner" también tiene 9 caracteres pero simplemente fue colocada para despistar.

Si se compara la imagen mencionada contra los dos archivos descargados se puede apreciar una diferencia de tamaño de 940 bytes: la imagen original tiene 45.894 bytes mientras que "uno" y "dos" tienen 46.834 bytes cada uno.

Teniendo esta pista se puede buscar diferencias entre los 3 archivos y luego de una comparación binaria se puede llegar a establecer las siguiente y pequeñas diferencias entre "uno" y "dos":

Diferencias

Las diferencias en esos archivos podían dan una pista sobre lo que puede almacenarse en ese lugar.

Si se lee con atención el desafío se puede ver que nuestro cliente decía que la contraseña se ocultaba en algún sitio y esta es la clave para saber que las imágenes y el sonido son utilizadas para ocultar información a través de la técnica conocida como esteganografía. En este caso se utilizó un software muy conocido y antiguo para realizar el camuflaje: Camouflage 1.x (más info).

Si bien no existen demasiadas aplicaciones ni técnicas para detectar este tipo de ocultamiento, StegSecret es una herramienta desarrollada por Alfonso Muñoz y permite saber cómo se realizó el camuflaje. Al utilizar esta aplicación se puede determinar que ambas imágenes ocultan la misma información en su interior, por lo que se debe intentar extraerla.

Para ello se utiliza Camouflage 1.x y se intenta desproteger los archivo (uncomouflage), pero al hacerlo se solicita contraseña. Aquí se puede optar por dos caminos, ya que no está permitido la utilización de fuerza bruta:

  • Utilizar una vulnerabilidad encontrada en Camouglage en enero 2007 y que que permite hallar y/o sobrescribir la clave del archivo camuflado.
  • Encontrar la clave de cualquiera de los dos archivos con la pequeña utilidad Camouflage Password Finder. En el caso del archivo "uno" la clave es "4ec12c8a4f2942c1043dfbe774b284a4" y en el caso de "dos" es"5ec12c8a4f2942c1043dfbe774b284a5". Se debe notar la diferencia en el 4 y 5 inicial y final de la cadena que obviamente es la misma diferencia ya observada en binario previamente.

Por supuesto ninguna de las dos cadenas representa la contraseña buscada ya que se aclaraba que la misma tiene 9 caracteres. Luego, abriendo los archivos, en cualquiera de los dos se puede observar lo siguiente:

Comouflage

El archivo elk.txt por su parte contiene el siguiente texto:

MD5: b9c095c5e07361c00c54ddf7a4f062d5
SHA1: e38ad214943daad1d64c102faec29de4afe9da3d

La primera línea corresponde a un hash MD5 del archivo elkcloner.png original sin camuflar. La segunda línea es un SHA1 que se debe determinar a qué corresponde (puede ser a un archivo o a una cadena de caracteres como en este caso).

Si se buscan formas de obtener la cadena original a partir de un hash se puede utilizar por ejemplo esta base de datos en donde a partir del SHA1 se puede obtener la (sencilla) contraseña buscada: "password1".

El ganador en este caso es SilverNeoX quien brindó la respuesta y la justificación. Dentro de poco tiempo estarás recibiendo tu licencia.

¡Esperamos hallan disfrutado del desafío tanto como nosotros haciéndolo!

Cristian Borghello
Director de Educación