Los secretos que esconde el café, vistos con #ExifTool

Hola secuaces:

Hoy estoy escribiendo esto mientras me tomo un buen café. De los caseros. De los que se hace uno mismo, a su gusto, en su casa. Me encanta el café. Y tiene su secreto prepararlo adecuadamente, más, aún, si se usa una cafetera italiana. Hay que saber qué tipo de café usar, (siempre uso café natural), qué cantidad de café usar, con qué presión depositarlo en el filtro, qué cantidad de agua usar y qué tipo de agua, … son muchos factores los que se deben tener en cuenta para preparar un buen café. Para que tenga un buen aroma y sabor, y una buena cantidad de cafeína.

Cada vez que hablo de secretos, no sé porqué razón, me viene siempre a la cabeza la esteganografía, que consiste, básicamente, en ocultar mensajes dentro de otros objetos. Y, no sé porqué razón, cada vez que pienso en la esteganografía, me viene a la cabeza la misma herramienta de la que me suelo acordar cuando hablo de realizar un análisis forense sobre fotografías. (La fotografía, otra de mis pasiones, aunque la tengo últimamente un poco abandonada). Exiftool, (desarrollada por Phil Harvey), que es un programa de software libre y de código abierto para la lectura, escritura y manipulación de metadatos de muchos formatos de archivos. Exiftool Trabaja tanto para Linux, como para Windows y Mac OS.

Según el sitio de ForensicsWiki,

ExifTool puede ser útil en un análisis forense, pero no es una herramienta forense, ni es una herramienta anti-forense.

Personalmente, creo que son ambas.

Quiero mostraros varios ejemplos, usando sólo algunos de su propio manual, para que podáis ver el poder de esta herramienta que, realmente, daría para escribir un libro.

Como siempre, procedemos a su instalación, mediante

sudo apt install exiftool

Invocamos la herramienta, a ver qué parámetros de ayuda nos puede ofrecer

exiftool

Directamente, nos dice que consultemos su documentación para una lista completa de opciones. Pues lo hacemos, mediante

man exiftool

Y comenzamos a leer…

Lo primero que vemos es que dice que lee y escribe metadatos en ficheros. Después vemos una sinopsis del cómo se usa.

He comentado al principio que trabaja con muchos formatos de archivos. Podemos ver todos los formatos que soporta si seguimos leyendo su manual, con las acciones que puede llevar a cabo para cada uno de ellos:

R: Leer

W: Escribir

C: Crear

Y también podemos ver con qué tipos de metadatos trabaja, con las acciones que puede llevar a cabo sobre cada uno de ellos:

R: Leer

W: Escribir

C: Crear

Hay mucha información en su manual. No puedo, si no recomendar su lectura.

Vamos a verlo funcionar, primeramente, con una de mis últimas fotografías, realizada con mi vieja Canon EOS 20D.

exiftool /home/marcos/DCIM/347CANON/_MG_4757.JPG

Con sólo esta forma de ejecución, obtenemos un montón de información que puede ser, según sea el caso, de una importancia relevante.

Lo primero que vemos es el nombre del fichero, el directorio y el tamaño. Después podemos ver una información de marcas de tiempo. En este caso, las fechas de acceso se ven afectadas porque copié las imágenes desde mi tarjeta CF al laboratorio. Sin embargo, la fecha de modificación no ha sido alterada, desde su creación, como podremos ver más abajo. También podemos ver el tipo de permisos del que se dispone en la imagen, así como su tipo de formato.

Estos datos, en lo personal, los considero importantes porque, si se trata de un análisis forense, hay que respetar las marcas de tiempo. Nos tenemos que asegurar de no alterar nada.

Seguimos leyendo, y nos encontramos con la marca y el modelo de la cámara con la que se realizó la fotografía. También tenemos disponible su orientación.

Continuamos, y podemos ver la velocidad del disparador, la apertura del diafragma, el tipo de programa empleado, (Exposición Automática en este caso). También podemos ver la versión Exif y las fechas originales de creación de la imagen, (¿Coinciden con la fecha de modificación que hemos visto anteriormente?)

Podemos ver, también, la distancia focal empleada y algunos más datos de configuración de la cámara en ese momento. Podemos ver el modo de grabación de la imagen en la cámara. En este caso, se grabaron tanto el negativo digital, CR2, como el fichero JPEG, (Manías que tiene uno).

Con suerte, podemos reconocer el objetivo empleado. Y si no, podemos ver la distancia focal del objetivo.

Hasta ahora, tenemos algunos datos, quizás penséis que sin importancia. Yo considero que todos los datos son importantes. No obstante, si seguimos leyendo la pantalla, nos encontramos con la marca y el modelo, el Firmware que usa, con el nombre al que se ha registrado como su propietario y con su número de serie. ¿Esto es más importante? 😉

También podemos obtener la cantidad de puntos de enfoque de la cámara y su resolución, en píxeles.

Ciertamente, es mucha información la que se puede extraer de una imagen en condiciones. Quizás sea interesante poder agruparla por grupos de tipo de información…

Pues podemos hacerlo, mediante

exiftool -a -u -g1 /home/marcos/DCIM/347CANON/_MG_4757.JPG

Para imprimir toda la información de metadatos de una imagen, incluidas las etiquetas duplicadas y desconocidas, ordenadas por grupo:

Información relativa al sistema.

Información relativa al fichero, con su tipo de formato y su resolución.

Información de la etiqueta IFD0.

Información de la etiqueta ExifIFD.

Información de la etiqueta con la configuración de la cámara.

En la que se incluye la marca, modelo, usuario que figura como propietario de la cámara, número de serie y resolución que emplea.

Información de la personalización de la cámara.

Información de la etiqueta InteropIFD.

Información de la etiqueta IFD1, relacionada con la vista en miniatura.

Información con la composición de la fotografía.

Como habéis podido ver, no es poca, precisamente, la información que se puede obtener de una fotografía, (original). Y, para la realización de un análisis forense, toda ella puede ser muy útil y muy interesante.

No obstante, quizás no nos interese extraer toda esa información, si no que tan sólo nos interese extraer la información ‘común’, de una fotografía o de un un directorio, mediante

exiftool -common /home/marcos/DCIM/347CANON/_MG_4757.JPG

De esta forma, obtenemos el nombre de la imagen, el tamaño, el modelo de la cámara, la fecha original de la fotografía, la resolución, su calidad, la distancia focal, la velocidad y la apertura, la ISO utilizada, si se ha usado el flash y en qué condiciones…

Quizás tampoco nos interese toda esta información. Quizás, nos interesen únicamente algunos parámetros, como la fecha de creación, la apertura del diafragma, la velocidad del obturador y la ISO utilizada. Todo ello, mediante

exiftool -T -createdate -aperture -shutterspeed -iso /home/marcos/DCIM/347CANON/*

De esta forma, obtenemos esos resultados del directorio que le hayamos indicado.

A lo mejor, sólo nos interesa extraer de un directorio la resolución de las fotografías y su tiempo de exposición, (La velocidad), mediante

exiftool -s ImageSize -ExposureTime /home/marcos/DCIM/347CANON/*

Yo soy de los que piensan que las apariencias engañan. Así que, ¿Por qué no vamos a extraer la vista en miniatura de la fotografía? Quizás no coincida con la original. Esto, lo hacemos mediante

exiftool -b -ThumbnailImage /home/marcos/DCIM/347CANON/_MG_4757.JPG > 4757_thumbnail.jpg

ls -s 4757_thumbnail.jpg

file 4757_thumbnail.jpg

De esta forma hemos extraído la vista en miniatura de la fotografía, que podemos comprobar mediante

exiftool 4757_thumbnail.jpg

Quizás nos interese más, poder ver las propiedades de la vista en miniatura sin necesidad de tener que extraerla, mediante

exiftool /home/marcos/DCIM/347CANON/_MG_4757.JPG -thumbnailimage -b | exiftool –

Como podéis ver, las opciones para realizar un análisis forense de una imagen son muy amplias. Exiftool tiene muchísimas opciones.

Nos podría interesar insertar una palabra clave dentro de la imagen, mediante

cat /home/marcos/DCIM/347CANON/_MG_4757.JPG | exiftool -iptc:keywords+=NosVemosEnDT – > 4757.JPG /home/marcos/DCIM/347CANON/_MG_4757.JPG

Y podríamos ver esas palabras claves haciendo uso de ‘grep‘, mediante

exiftool 4757.JPG | grep -i Keywords

O nos podría interesar añadir, ocultar, un comentario en la vista en miniatura de la fotografía, mediante

exiftool _MG_4757.JPG -thumbnailimage -b | exiftool -comment=»@CiberPoliES, ¿Te pagas un café?» – | exiftool _MG_4757.JPG -thumbnailimage'<=-‘

Que podríamos visualizar mediante

exiftool _MG_4757.JPG -thumbnailimage -b | exiftool –

Y podemos comprobar que si no se estudia, de forma específica, la vista en miniatura, el comentario estará oculto, mediante

exiftool /home/marcos/DCIM/347CANON/_MG_4757.JPG | grep -i Comment

exiftool _MG_4757.JPG | grep -i Comment

exiftool _MG_4757.JPG -thumbnailimage -b | exiftool – | grep -i Comment

No. No hay ningún mensaje subliminal en el comentario 🙂

Existe una opción que me gusta usar mucho con esta herramienta. Se trata de una opción que permite realizar un volcado hexadecimal de toda la información Exif de una imagen o directorio. Sinceramente, creo que es la parte más interesante de esta herramienta. Ello se hace mediante

exiftool -htmldump -w tmp/%f_%e.html _MG_4757.JPG

ls -s tmp/_MG_4757.html

file tmp/_MG_4757.html

Si lo pasamos sobre un directorio…

ls -s tmp/

file tmp/

Este reporte, que se ha generado en formato HTML, nos va a dejar interactuar de cierta manera, según vayamos moviendo el cursor del ratón por la información. Y creedme. A mí, me resulta muy interesante.

Podemos desplazarnos por los diferentes campos, donde podremos ver todo tipo de información que, además, se resalta. Como el nombre de la persona a la que está registrada la máquina.

O el comentario que está oculto en la vista en miniatura de la fotografía original. Considero que esto es muy interesante porque nos podríamos ahorrar muchos pasos de extracción de datos.

Podemos imprimir, con una fecha formateada, todo un directorio de fotografías, mediante

exiftool -d ‘%r %a, %B %e, %Y’ -DateTimeOriginal -S -s -ext jpg /home/marcos/DCIM/347CANON

Podemos indicarle que nos muestre el nombre del fichero con la fecha de creación de la fotografía, mediante

exiftool -p ‘$filename has date $dateTimeOriginal’ -q -f /home/marcos/DCIM/347CANON

Mi vieja Canon EOS 20D no dispone de geolocalización. Pero cualquier smartphone de hoy día, sí. Así que también podemos extraer, por ejemplo, el nombre del fichero y sus coordenadas, que podremos ubicar en Google Maps, mediante

exiftool -filename -gpslatitude -gpslongitude -T /home/marcos/IMG_20170727.jpg

No siempre puedo disfrutar del exquisito café que preparo en mi casa. Por ejemplo, en el trabajo, suelo sacrificar el tiempo del café en otros menesteres. Aprovecho el tiempo en hacer cosas productivas. Así que me voy a la máquina de café y saco un… Té con limón, que me tomo mientras sigo con mis cosas.

Venga, que todos conocemos el efecto purga que tienen los cafés de máquina 😀

Tengo estas dos fotografías. Son las mismas, pero las he duplicado para mostraros la siguiente prueba.

Tenemos la primera fotografía, que abrimos con GHex, un editor hexadecimal, y nos dirigimos al final del contenido. Podemos ver que está en blanco, carente de cualquier tipo de información.

Tenemos la segunda fotografía, que abro con el mismo software. Nos dirigimos al final del contenido, lo editamos y lo guardamos.

Generamos los reportes de estos dos ficheros de imagen, en formato HTML, mediante

exiftool -htmldump -w tmp/%f_%e.html IMG_20170727-*.jpg

ls -s tmp/IMG_20170727-*

file tmp/IMG_20170727-*

Muy bien. Tenemos los dos reportes generados, en formato HTML.

Vamos con el primero de ellos, en el que no vemos nada.

Nos dirigimos al segundo reporte, donde podemos apreciar ese texto oculto.

Ahora mismo, seguramente, estaréis pensando:

«Si todo eso es visible con un simple ‘strings‘.»

Pues sí. Tenéis razón. Pero no es lo mismo leer un montón de líneas, sin estructura ninguna, que un reporte con el que podamos interactuar, en cierta medida.

Se me ha terminado el café…

Hemos visto la gran cantidad de información que se puede extraer con Exiftool de una fotografía, y hemos visto alguna de sus posibilidades de edición para hacer un poco de esteganografía.

Exiftool también nos permite ejecutarla sobre ficheros alojados en sitios web, haciendo uso de ‘curl‘, mediante

curl -s https://www.fwhibbit.es/wp-content/uploads/2016/09/logoletra1.png | exiftool -fast –

Vamos a ver cómo se comporta con otro tipo de ficheros. Ahora, con un documento en formato PDF, mediante

exiftool Fichalicordecaf.pdf

Podemos ver, entre otros datos, la fecha de creación del documento, el software empleado para crearlo y la información de su vista en miniatura, …

Podemos ver las acciones que se han llevado en el documento, cuándo se han realizado y su número de páginas, …

Y, entre otros datos, podemos ver que contiene una imagen embebida, y hasta las fuentes que ha empleado, …

Como hemos visto que contiene una imagen incrustada, vamos a extraerla, (quizás contenga imágenes ocultas), mediante

exiftool -a -b -ee -embeddedimage -W Image_%.3g3.%s Fichalicordecaf.pdf

Una vez extraída la imagen del documento, podemos volver a hacer uso de Exiftool sobre ella, mediante

exiftool Image_2.jpg

Donde podemos ver algunos detalles de la misma.

Y, cómo no, abrimos la imagen.

No va a ser siempre tan fácil. Las cosas, como son. Tenemos otro documento en formato PDF, que identificamos, mediante

file H108850_tcm7-368262.pdf

ls -s H108850_tcm7-368262.pdf

Le pasamos Exiftool, en su uso básico, mediante

exiftool H108850_tcm7-368262.pdf

Y obtenemos, entre otros datos, el tamaño, el formato del archivo, la fecha de creación, el software que se ha usado, el formato de la página, un historial de acciones llevadas a cabo en el documento, (muy largo, he de decir), …

Seguimos leyendo y podemos ver…

El total de cambios que ha sufrido el documento, el título del documento, el creador, (si lo tuviere), el asunto del documento, las palabras claves y/o comentarios, … Vemos hasta un depósito legal.

Seguimos leyendo…

Y podemos ver un contador de páginas, el idioma, …

¿Tendrá imágenes incrustadas este documento? Pues lo comprobamos, igual que antes, mediante

exiftool -a -b -ee -embeddedimage -W Image_%.3g3.%s H108850_tcm7-368262.pdf

Nos dice que ha extraído un total de ocho ficheros. Procedemos a listarlos y ha identificarlos, mediante

ls -s Image_*

file Image_*

Vaya, vaya, vaya… Tenemos unos ficheros de imagen, ¿En formato JP2? Si intentamos visualizarlos sin las herramientas adecuadas, nuestro sistema nos dirá que no quiere enseñarnos esas imágenes. Así que vamos a convertirlos, usando ‘j2k_to_image‘, que se instala mediante

sudo apt install openjpeg-tools

Una vez instalado, invocamos su ayuda, mediante

j2k_to_image -h

Y, visto que lo único que requiere esta herramienta es un fichero de entrada y un fichero de salida, procedemos a la conversión de esos ficheros, mediante

j2k_to_image -i Image_6.jp2 -o Image_6.bmp

Nos dice que se han generado los ficheros correctamente. Así que los listamos y los identificamos, mediante

ls -s *.bmp

file *.bmp

Comprobamos que, efectivamente, se han convertido de forma satisfactoria. Así que tan solo nos queda abrir las imágenes…

Exiftool, a pesar de lo que digan, yo la considero una herramienta forense imprescindible. Sí. También puede ejercer como antiforense. Pero hay que reconocer que posee una multitud de opciones increíbles.

En este pequeño artículo, sólo he empleado unos pocos ejemplos de su manual. Probadlo. Mirad su capacidad de juego. Imaginación al poder.

Como suele decir mucho, @_Ciudadano72

Si lo lees, pero no lo haces, no lo sabes

Y es que, no es lo mismo, leerse un manual de ‘algo’, que verlo con algunos ejemplos 😉

Y para terminar de explicar algunas funciones de esta magnífica herramienta Forense/Antiforense, su sitio oficial tiene disponible una página donde podremos mirar cómo ejecutarla, según los ejemplos que queramos usar.

Tanto hablar de café, me ha dado sed. Creo que me serviré otro 😉

Esto es todo, por ahora. Nos leemos en la siguiente entrada. Se despide este minion, entregado y leal, de vosotros… por ahora.

Marcos @_N4rr34n6_

Un comentario en «Los secretos que esconde el café, vistos con #ExifTool»

  1. Ultimamente los metadatos son adquiridos por terceros, que, si fuese un vendedor de equipo o accesorios para camaras, sabria en primer lugar el tipo de tripod que podria ofrecer, tanto por la posicion que son tomadas las fotografias y el peso extra si existiera un objetivo mas pesado. Si leyera la cantidad de artistas que usasen cierto tipo de cámara, al referirse al dato del nombre del propietario, haría publicidad dentro de los locales ofreciendo «la misma cámara que usa tal artista» el comprador solio se tomaría la tarea de googlear y decir «si es cierto, quiero esa cámara».

Los comentarios están cerrados.