Extracción de Metadatos

A la hora de realizar una auditoría de seguridad lógica, uno de los primeros pasos a dar es la recopilación de la mayor cantidad de información “útil” del objetivo a auditar, lo que en el ámbito de la seguridad denominamos como “information gathering”. Dentro de esta fase, podemos incluir el análisis de metadatos obtenidos a partir de ficheros contenedores como pueden ser de tipo pdf, odt, jpg, etc…

Antes de entrar en materia, me gustaría definir lo que son los metadatos de una manera más formal. Curiosamente, si consultamos el diccionario de la real academia española no encontramos este término, pero para ello tenemos la referencia de la wikipedia:

Metadatos (del griego μετα, meta, «después de» y latín datum, «lo que se da», «dato»), literalmente «sobre datos», son datos que describen otros datos.

De manera más informal, podemos decir que los metadatos son datos que caracterizan a un fichero que contiene cierto tipos de datos, de modo que a través de los metadatos podemos conocer características de un fichero como el autor, revisiones del documento, etc.

En cuanto a las herramientas de extracción de metadatos, y aunque hay en Internet múltiples recursos al respecto, me gustaría destacar principalmente dos de ellas, cuyo funcionamiento es muy sencillo. La primera de ellas es “extract“, una aplicación para sistemas operativos Unix/Linux cuya finalidad es justamente mostrar la información contenida en los metadatos de un fichero. De esta manera podemos obtener información como nombres de usuarios, nombres de equipos, rutas del equipo donde se ha creado/modificado un fichero, etc., tal y como se muestra en la siguiente imagen (el documento analizado se encuentra disponible en Internet):

extract

En el ejemplo mostrado, podemos observar los datos que podemos obtener de un fichero “.doc” que no ha sido previamente “limpiado”, entre los cuales cabe destacar rutas de unidades de red, nombres de usuarios, nombre del registrador de la aplicación, aplicación con la que está creado el documento y su versión, etc. A la vista del ejemplo, no es difícil ver la importancia y la atención que debemos prestar a los metadatos, sobre todo si el documento va a ser públicamente accesible.

Si enfocamos la obtención de metadatos al mundo de la fotografía digital, podemos en algunos casos obtener incluso la geolocalización de la obtención de la imagen en concreto. Para ello utilizaremos la herramienta exif (que simplemente accede a los datos del formato Exif):

exif

Queda clara la importancia de mantener en la fotografía únicamente información que deseamos que sea pública, para evitar que circule información “oculta” a primera vista y que no deseamos ofrecer. Herramientas como Metagoofil o lafoca están enfocadas a la obtención de los metadatos, lo que puede ser el primer paso de un análisis más exhaustivo, que dé pie a posteriores etapas en un proceso de auditoría técnica.

Como no puede ser de otra manera, la recomendación es eliminar aquellos metadatos innecesarios que impliquen información privada que en cierta manera nos hace vulnerables, ya sea por dar a conocer nombres de usuarios, o ubicaciones de objetos a través de imágenes. Eso lo veremos en la siguiente entrada.

Comments

  1. Yo para mis aplicaciones web, cuando subes las imágenes JPG a través de un formulario siempre las paso a través del programa “jhead”, limpia todos los metadatos del archivo y deja la imagen “pelada”, así aparte de mejorar la seguridad también te evitas problemas con las funciones de imagen de PHP xD.

    Buen blog
    Salu2

  2. Hola CristianDeluxe,

    Es una buena práctica, de hecho se debería tener muy en cuenta para evitar fugas de información no contempladas a primera vista. Es muy fácil que los metadatos de cualquier tipo de archivo, bien sea para publicarlo en una web como para enviarlo por correo, pasen desapercibidos y estemos ofreciendo información privada o interna que no debamos.

    Gracias por tu comentario.

    Saludos,

    Raúl.

  3. Francisco Benet says

    Me ha gustado mucho el post, y estoy de acuerdo en la importancia que tienen los Buen post.