Está en la página 1de 10

Antes de comenzar la clase, quería advertir que en la clase número 100 habrá un wargame,

reto o desafío que los mantendrá entretenidos y… ¡Habrá un premio! El wargame podrá ser
completado exitosamente habiendo leído todas las clases y teniendo en claro la dirección de
cada contenido. Tendremos, días antes, una clase de “repaso para el wargame” para que
vayan testeando en que parte están más afilados y en cuales más flojos, para pedir asistencia.
Pero aún falta un poco para esto, empecemos con la clase 98.

Forense - Metadata
Siempre hemos hecho clases de ataques y las pobres víctimas se han jactado de nuestros
enormes poderes que destruirán…

“Roadd… Roadd… Ya. Vuelve. Aquí tierra, Manolo. La clase.”

Oh, cierto. Disculpa. Me dejé llevar. Como iba diciendo, es muy posible que, si uno de los
ataques se completa y la víctima se entera del ataque, empiece a buscar pistas que lo ayuden a
generar un reporte ante ese hecho. También es una fuente de información muy valiosa. En
esta clase y la próxima no veremos cosas demasiado profundas por ser próximas al wargame y
luego ahondaremos un poco más en este tema.

Seguro muchos de ustedes consideran haber conocido los metadatos antes, pero ¿Qué tanto
sabemos de ellos?

“Bueno, en primer lugar, que quien los escriba está bastante aburrido.”

En realidad, quien los escribe no es una persona si no que se generan automáticamente. Uno
de los archivos donde generalmente buscamos metadatos es en una fotografía, así que
destripemos una.
Esta fotografía parece interesante. Usaremos un editor hexadecimal. En mi caso XVI32. Y
abrimos la imagen. No necesito explicarles cómo.

Lo primero que tenemos que tener en cuenta a buscar datos dentro de un archivo es la firma
del formato. Esto se encuentra en los primeros bytes, que determinarán como se debe leer.
Nosotros tenemos: FF D8 FF E1. Lo que haremos es buscar estos primeros 8 bytes en:

https://www.filesignatures.net/

Así que resultan ser la firma del formato JPG usando EXIF (Exchangeable Image Format).
Busquemos cómo se compone esto en San Google. Entrando al Wikipedia veremos que en el
segundo párrafo dice:

“Además de ser un método de compresión, es a menudo considerado como


un formato de archivo. JPEG/Exif es el formato de imagen más común, utilizado
por las cámaras fotográficas digitales y otros dispositivos de captura de imagen,
junto con JPG/JFIF, que también es otro formato para el almacenamiento y la
transmisión de imágenes fotográficas en la World Wide Web. Estas variaciones de
formatos a menudo no se distinguen, y se llaman “JPEG”. Los archivos de este tipo
se suelen nombrar con la extensión .jpg.”
Por lo tanto, podemos ver que JPEG/Exif es un formato de imagen. Entramos a la
documentación oficial de la web de exif y nos encontramos con este PDF (lo voy a dejar debajo
el link, como complementario, para que el archivo no se pierda con el tiempo, pero les
recomiendo que utilicen la web oficial).

http://exif.org/Exif2-2.PDF

En la página 15 del documento nos encontramos con esto, que corresponde a la estructura
básica del documento:
Lo primero que podemos ver es el TIFF Header. Si seguimos leyendo aparece toda la
información. Según el documento, al header le corresponden 8 bytes

Según el cuadro, primero hay 2 bytes (4949 o 4D4D) según el micro con el que fue grabada la
imagen. No es muy necesario ver esto ya, pero si se fijan al principio de la imagen podremos
ver el inicio del TIFF Header fácilmente buscando por ese par de bytes.

Lado izquierdo del XVI32. Aquí podemos ver los 2 pares de bytes correspondientes al inicio del
header

Lado derecho, los bytes aparecen como ‘MM’.

Allí comienza la estructura para poder seguirla en la primera tabla que vimos, luego hay 2
bytes que siempre son “002A” y finaliza con 3 bytes en 0’s de offset y un 8. Recordemos que
cada número es medio byte o 4 bits, desde 0000 para el 0 hasta 1111 para F. Es decir que el
offset tiene 7 ceros y un 8 antes de seguir.
Es importante que sigamos el paso a paso para entender cómo está compuesto el archivo y así
no depender de factores externos para poder leer algo si es lo que queremos.

En la misma tabla vemos que existen IFD (Image File Directories).

¿Qué son? Son las separaciones o tags dentro de la imagen que indican que datos vamos a
colocar en ese lugar, que podemos verlo en la imagen que subí arriba:

Aunque debo confesar algo.

“¿Qué es? ¿Eres un informante de la policía?”

Creo que viste muchas películas últimamente, Manolo. Estuve queriendo sumergirme en el
análisis de la foto y me di cuenta que en esta imagen (y en realidad en muchas otras también),
la empresa desarrolladora del software, y toda la cadena, tiraron el estándar de EXIF a la
basura e hicieron lo que querían. No solo pasa con los bytes que indican el comienzo de cada
bloque, sino con que siquiera hay un respeto del orden.

Veamos este ejemplo:


En el primer recuadro en rojo, arriba en el lugar de los números hexadecimales, podemos ver
los números 8825 (si no ven, acerquen la imagen). Esto se relaciona con el valor del IFD que
corresponde a la información de localización, o de GPS. Esto lo podemos confirmar en la tabla
49 del documento.

Si seguimos mirando, luego aparece el tag 0668, en el segundo recuadro en rojo, en el lugar de
los números hexas. Y esto corresponde a: GPS Track Value.
Tabla 35

El problema llega después, en el recuadro verde que podemos ver en ambos lados del XVI32 y
que corresponde al modelo de celular con el cual se ha sacado la foto. Es decir, que nada tiene
que ver con el valor de GPS. Y también, buscando el tag 110, vemos que no aparece.

El tag 110 deberia contener el modelo de la cámara

Esto es moneda corriente. Si conocen la vulnerabilidad de KRACK que hace poco mantuvo
ocupadas a las noticias, se aprovechaba de un agujero de seguridad dentro de un protocolo de
comunicación en redes inalámbricas. Lo extraño fue que ni MACOS ni Windows eran
vulnerables porque decidieron no respetar los estándares, desde el principio. Podemos creer
entonces que en existen casos que pueda llegar a ser algo positivo, pero lo cierto es que
estamos complicando estudios posteriores si no los seguimos.

Vamos a ver una herramienta web súper simple que automatiza el encuentro de metadatos:

http://metapicz.com/
Obviamente, en donde dice en grande que debemos arrastrar la imagen hasta allí, lo hacemos
:D.

Y podemos ver que nos va devolviendo mucha información. Es realmente grande la cantidad
de información que podemos adquirir. También lo vamos a usar para buscar metadatos en
webs, posteriormente. Por lo pronto, ya saben. A estudiar para el wargame de la clase 100 ;).

“No entiendo, Roadd. ¿Por qué usamos un editor hexa en vez de una herramienta
que podría automatizar esto? ¡Estás inflando la clase de contenido que no importa!”

Bueno, en primer lugar, porque así podemos aprender desde abajo, y segundo porque algunos
de los softwares de extracción de metadatos no respetan la integridad de la imagen. Es un
gran problema cuando hablamos de información forense porque una persona podría apelar a
que la imagen no es la misma que la anterior.

Esto puede comprobarse con facilidad calculando el md5 de la foto antes y después del
análisis. Aunque sí hay muchos softwares que respetan la imagen. Lo importante, quizás, es
que puedan aprender a respetar los tags para los profesionales de la seguridad.

Por hoy dejamos esta clase, y volveremos a vernos en la siguiente. Les recuerdo que pronto
habrá un wargame con un lindo premio y que esperamos que todos participen .

-------------------------------------------

Pueden seguirme en Twitter: @RoaddHDC

La página de Facebook: www.facebook.com/roaddhdc

Contactarse por cualquier duda a: r0add@hotmail.com

Para donaciones, pueden hacerlo en bitcoin en la dirección siguiente:

1HqpPJbbWJ9H2hAZTmpXnVuoLKkP7RFSvw

También recomiendo que se unan al foro: underc0de.org/foro

-------------------------------------------

Este tutorial puede ser copiado y/o compartido en cualquier medio siempre
aclarando que es de mi autoría y de mis propios conocimientos.

-------------------------------------------

Roadd.

También podría gustarte