Esteganografía y Técnica EOF
Uso de la Técnica EOF en Esteganografía:
Comienzo a explicar algunas técnicas de esteganografía (empezaré por lo más básico, aunque intentaré que todo se entienda fácilmente), tal y como os conté en mi anterior artículo. La primera de la que os hablaré se refiere al uso de la técnica EOF (End Of File), o lo que es lo mismo: añadir «cosas», al final de un fichero de tal forma que, al abrirlo, tan solo se lea el contenido «del primer fichero», y no «lo añadido», aunque realmente esté a continuación de esta marca de final de fichero. Pero veamos qué es esto del EOF y para qué sirve.
La signatura «EOF», es el indicador que le dice al programa que está leyendo un fichero «que ya no hay más información que recuperar sobre ese fichero». Es decir: le dice al programa «que ahí acaba el contendido del fichero que está leyendo». Como todos sabemos en forense, cada tipo de fichero se define al comienzo del mismo, gracias a una signatura única. Sin embargo, el final de fichero es siempre (a excepción de los PDF y alguno más), EOF. Por ejemplo, si abrimos un fichero «winrar», con un lector hexadecimal, éste empezará por la marca «52 61 72 21». Probad a abrir distintos tipos de archivos con un lector hexadecimal (HxD es una buena opción gratuita), y comprobaréis cómo se definen sus comienzos, coincidiendo con las cabeceras que os he puesto antes, sacadas del blog de WeLiveSecurity (gracias, maestros).
La forma de «añadir» un archivo al final de otro es muy sencilla. Simplemente hay que copiar «en modo binario». Esto es importante. Para conseguir esto tan solo tenemos que ir al entorno de comandos de windows (nuestro antiguo entorno de Ms/Dos), con el comando «cmd», que conviene ejecutar como administrador para que no nos cause problemas, no tanto con esta sencilla instrucción que os voy a dar ahora, como con otros comandos un poco más complejos, que únicamente funcionarán si tenemos los privilegios de ejecución necesarios.
El comando que hay que usar para copiar en binario no puede ser más sencillo:
copy /b fichero1+ fichero2 fichero3
donde el parámetro «/b» es el que indica que hay que copiar en modo binario, «fichero1» y «fichero2» son los ficheros a unir y «fichero3» es el resultante. Hay que tener cuidado con la forma y los tipos de ficheros a unir, pues no todos combinan bien. Me explico: la idea consiste en que, por ejemplo, si añado un fichero a una imagen «.jpg», el fichero resultante siga siendo una imagen «.jpg» que, además, contendrá el fichero añadido. El tamaño del nuevo fichero será la suma de los tamaños de los dos ficheros de origen.
Vamos a hacer una prueba. Voy a incluir un fichero de texto (.txt), dentro de una imagen «.jpg» y lo voy a unir todo dentro del «.jpg».
El fichero resultante debería seguir viéndose como imagen en cualquier visor de imágenes. Es más, incluso el Thumbnail debería verse como imagen y, efectivamente, así es. Sin embargo, el fichero «imagentor.jpg» tiene añadido ya el contenido del fichero «TorChan.txt»
De esta forma (en nuestro ejemplo) podremos enviar públicamente y a los ojos de todo el mundo, una imagen aparentemente inocente que, por el contrario, lleva incluidas unas direcciones «.onion». Evidentemente (y esto es necesario tanto en esteganografía, como en otras técnicas), el receptor debe saber por dónde va a recibir la información y cómo extraerla. En nuestro caso, ésta se puede conseguir fácilmente, tan solo con abrir el fichero «imagentor.jpg», con un simple lector hexadecimal..
Esta técnica EOF podemos utilizarla con otros muchos tipos de archivos, como por ejemplo los ficheros «.rar». Este tipo de archivos es compartido de forma masiva por todos los medios, ya sea a través de servidores «FTP», «P2P», redes sociales, etc. En el siguiente ejemplo vamos a copiar una imagen y un fichero «.rar» (en el que hemos incluido nuestro fichero de direcciones .onion, más un pdf) a una nueva imagen.
Como vemos en la siguiente imagen, el nuevo fichero de imagen generado (anonimrar.jpg) es perfectamente visible en el Thumbnail, además de poder abrirse como imagen, sin ningún problema, con cualquier visor de imágenes.
Sin embargo, si en vez de abrir la imagen con un visor cualquiera, pulsamos sobre ella con el botón derecho del ratón y la abrimos con «Winrar», el resultado será otro…
Como puede apreciarse en la imagen siguiente, si abrimos el fichero «.jpg» con la aplicación «Winrar.exe», ésta detecta que hay un fichero «.rar» dentro de la imagen y lo abre a partir de su marca de inicio «52 61 72 21», mostrándonos el contenido que realmente queremos transportar de forma anónima. Ahora ya podremos descargar sin mayor problema lo que realmente nos interesa.
No obstante, esta forma de camuflar la información no es completamente opaca. Veamos qué ocurre cuando abrimos con un lector hexadecimal. Como veremos en la imagen siguiente, siguen apareciendo las direcciones «.onion», perfectamente legibles. Sin embargo esta vez ya no se encuentran al final del archivo, como sucedía con una copia simple, sino «en alguna parte» del nuevo fichero. Esto complica un poco más la búsqueda estegoanalítica.
Esto podría solventarse fácilmente si, en vez de crear simplemente el fichero «.rar», que contiene a su vez nuestro fichero con las direcciones «.onion», éste se hubiera creado asignándole una clave. En el siguiente ejemplo, hemos creado un fichero «.rar» nuevo al que hemos llamado «EofConClave.rar» en el que hemos incluido nuestro fichero en texto plano que contiene las direcciones «.onion», más nuestro manual en «.pdf», y lo hemos protegido con una clave. Luego hemos copiado en binario, el fichero «anonimato.jpg» + «EofConClave.rar» y generado el fichero «AnonimRarClave.jpg». Después lo hemos abierto con un lector hexadecimal y buscado la palabra «onion». Esto es lo que mostró:
Ya hemos conseguido enviar un archivo oculto dentro de una imagen, completamente invisible a ojos de quienes lo miran. Incluso el contenido permanece invisible, si analizamos el fichero con un lector hexadecimal.
Y hasta aquí mi artículo de hoy. Hay otras muchas combinaciones posibles, mediante copia binaria. Pero eso ya os lo dejo a vosotros, para que enredéis.
En El siguiente artículo os explicaré qué es y en qué consiste la técnica ADS
Como siempre ocurre en informática, todo es infinitamente diferente, dependiendo de si es cero, o es uno.
José Aurelio García
Auditor y Perito Informático-Perito en Piratería Industrial e Intelectual-Informático Forense
Co-Director del Tïtulo Propio «Derecho Tecnológico e Informática Forense», impartido por la UnEx dtif.unex.es
Profesor en el «Máster de Abogacía Digital», impartido por la USAL
Socio Fundador Asociación Nacional de Ciberseguridad y Pericia Tecnológica – ANCITE
Informático Forense – El Blog de Auditores y Peritos Informáticos
No hay comentarios