14 de julio de 2010

Ganador del desafío 10 de ESET

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, simplemente colocado para despistar.

Si se compara la imagen mencionada con 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 siguientes y pequeñas diferencias entre "uno" y "dos":



Las diferencias en esos archivos podían dar 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 archivos (uncamouflage), 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:

1. Utilizar una vulnerabilidad encontrada en Camouflage en enero 2007 y que que permite hallar y/o sobrescribir la clave del archivo camuflado.

2. 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.

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:



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. A partir del SHA1, se puede obtener la (sencilla) contraseña buscada: "password1".

El ganador en este caso es Rafael Pablos, quien brindó la respuesta y la justificación. Dentro de poco tiempo estarás recibiendo tu licencia. ¡Esperamos hayan disfrutado del desafío tanto como nosotros haciéndolo!

Cristian Borghello
Director de Educación

No hay comentarios:

Publicar un comentario en la entrada