Manipular Metadatos en Archivos LibreOffice Writer
Manipular Metadatos en Archivos LibreOffice Writer

Cómo Extraer, Eliminar y Editar Metadatos en Archivos de LibreOffice

Este artículo se centra en los metadatos de los archivos de LibreOffice. Esta suite ofimática es gratuita, su código fuente es abierto, es multiplataforma y bastante popular. Tiene una buena compatibilidad con MS Office y en general es una muy buena alternativa a MS Office.

Si te preocupan los problemas de anonimato y utilizas, por ejemplo, el sistema operativo Tails, entonces la suite ofimática LibreOffice se instala allí. En la mayoría de los sistemas operativos Linux, la suite LibreOffice está instalada por defecto, o está presente en los repositorios estándar y está disponible para su instalación. Es decir, LibreOffice se utiliza casi siempre en Linux. LibreOffice funciona muy bien en Windows y también es bastante popular en este sistema operativo.

LibreOffice tiene sus propias peculiaridades con respecto a los metadatos, e incluso si ya sabes cómo eliminar los metadatos de Word, LibreOffice tiene sus propias especificidades. Por cierto, anteriormente revisamos un artículo en Word sobre Cómo ver, editar y eliminar los metadatos en archivos MS Word.

Metadatos en los archivos de LibreOffice Writer

Los archivos de LibreOffice también contienen metadatos. En este artículo me ocuparé de los archivos de Writer, que es el equivalente a MS Word. Los archivos de LibreOffice Writer tienen la extensión .odt (documentos normales) y la extensión .ott (plantillas de documentos).

De hecho, Writer soporta muchos formatos:

  • Documento de texto ODF (Flat XML): .fodt
  • Uniform Office Format: .uot
  • Diferentes versiones de Word
  • Otros

Pero, el nativo y más utilizado es el .odt – nos centraremos en él (si tienes interés, puedes probar lo bien que los programas mat y mat2 buscan y eliminan metadatos en otros formatos, así como la cantidad de metadatos que contienen otros formatos de archivo de office).

Para hacerlo un poco más interesante, he añadido una firma digital al documento de prueba y he intentado añadir una macro.

Empecemos por comprobar los metadatos encontrados utilizando el comando mat:

mat -d MiDocumento.odt

Ejemplo de salida:

mat -d MiDocumento.odt
[+] File MiDocumento.odt :
Harmful metadata found:
	Thumbnails/thumbnail.png's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	content.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/popupmenu/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	styles.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Dialogs/dialog-lc.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	layout-cache's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Basic/Standard/Autocolor.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	generator: LibreOffice/7.0.4.2$Linux_X86_64 LibreOffice_project/00$Build-2
	Basic/Mi/script-lb.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Basic/Mi/Module1.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/images/Bitmaps/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	editing-cycles: 4
	settings.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Dialogs/Standard/dialog-lb.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Pictures/100000000000102000000C183B53EA505047D0FB.jpg: {'City': 'Moscow', 'GPS Longitude': '37 deg 36\' 55.12" E', 'Scale Factor To 35 mm Equivalent': '7.6', 'Compression': 'JPEG (old-style)', 'Max Aperture Value': '1.9', 'Circle Of Confusion': '0.004 mm', 'Make': 'samsung', 'Exif Image Height': '3096', 'GPS Latitude': '55 deg 45\' 7.29" N', 'ISO': '40', 'Exif Image Width': '4128', 'Y Cb Cr Positioning': 'Centered', 'Aperture': '1.9', 'F Number': '1.9', 'GPS Altitude': '17 m Below Sea Level', 'Thumbnail Offset': '1040', 'Flashpix Version': '0100', 'Province-State': 'MSK', 'Date/Time Original': '2049', 'Sub Sec Time': '0724', 'Image Unique ID': 'V13LLIA02AM V13LLKH01SB.', 'Shutter Speed Value': '1/1978', 'Sub-location': 'Downtown Area', 'Sub Sec Time Original': '0724', 'GPS Altitude Ref': 'Below Sea Level', 'Create Date': '2049', 'Aperture Value': '1.9', 'Shutter Speed': '1/1980', 'Scene Capture Type': 'Standard', 'Software': 'G988BXXU5CTKG', 'Focal Length In 35mm Format': '28 mm', 'GPS Longitude Ref': 'East', 'Exposure Mode': 'Auto', 'User Comment': 'Holidays', 'Focal Length': '3.7 mm (35 mm equivalent', 'GPS Date/Time': '2049', 'Country-Primary Location Name': 'Russia', 'White Balance': 'Auto', 'GPS Date Stamp': '2049', 'Hyperfocal Distance': '1.81 m', 'Date/Time Digitized': '2049', 'GPS Latitude Ref': 'North', 'Exif Version': '0220', 'Thumbnail Length': '29361', 'Components Configuration': 'Y, Cb, Cr, -', 'Field Of View': '65.5 deg', 'Exif Byte Order': 'Little-endian (Intel, II)', 'Light Value': '14.1', 'Modify Date': '2049', 'Sub Sec Time Digitized': '0724', 'Current IPTC Digest': 'fe1ba7d2047f370bacc1b64262c3f332', 'Orientation': 'Horizontal (normal)', 'Application Record Version': '4', 'Exposure Time': '1/1980', 'GPS Time Stamp': '09', 'XMP Toolkit': 'Image', 'Exposure Program': 'Program AE', 'Color Space': 'sRGB', 'Brightness Value': '8.82', 'GPS Version ID': '2.2.0.0', 'Metering Mode': 'Center-weighted average', 'Thumbnail Image': '(Binary data 29361 bytes, use -b option to extract)', 'Camera Model Name': 'Galaxy s50 Ultra', 'GPS Position': '55 deg 45\' 7.29" N, 37 deg 36\' 55.12" E', 'Date/Time Modified': '2049', 'Exposure Compensation': '0'}
	creation-date: 2021-06-24T20:50:57.113726376
	Basic/Standard/autocolor.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/toolpanel/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Basic/Standard/script-lb.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/toolbar/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	META-INF/manifest.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	date: 2021-06-24T21:17:28.142635409
	Configurations2/statusbar/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	manifest.rdf's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/progressbar/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	editing-duration: PT18M37S
	Dialogs/Mi/dialog-lb.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/menubar/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/floater/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	mimetype's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Basic/script-lc.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	meta.xml's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Pictures/100000000000102000000C183B53EA505047D0FB.jpg's zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}
	Configurations2/accelerator/'s zipinfo: {'modified': (2021, 6, 25, 2, 19, 50), 'system': 'unknown'}

Hay mucha información, pero se muestra de forma desagradable para la percepción, trataremos de entenderla:

  • La línea editing-duration: PT18M37S, aparentemente, muestra el tiempo de edición.
  • La línea LibreOffice/7.0.4.2$Linux_X86_64 LibreOffice_project/00$Build-2 revela el programa y el sistema operativo utilizados para crear el documento.
  • Aparentemente, editing-cycles: 4 es el número de revisión.
  • La cadena de fecha de creación: creation-date: 2021-06-24T20:50:57.113726376
  • (opcional) La cadena de fecha de impresión: print-date: 2021-06-24T20:55:44.320774451
  • Y sólo la fecha: date: 2021-06-24T21:17:28.142635409
  • Hay algo de información sobre las macros:
    • Basic/Standard/autocolor.xml
  • Y también un montón de archivos con números – aparentemente, con fechas de cambio.

Hay muchos datos extraídos, pero no se dice nada de la firma digital.

Veamos la salida del comando mat2:

mat2 -s MiDocumento.odt

Se muestra más o menos la misma información:

Metadatos de archivo Writer con mat2
Metadatos de archivo Writer con mat2

Bueno, mucho mejor (considerando la imagen de ejemplo, presentada en Cómo falsear GPS de fotos):

Metadatos de imagen en archivo Writer
Metadatos de imagen en archivo Writer

Metadatos de los Archivos de Plantillas de LibreOffice

El programa mat puede trabajar con archivos .ott y muestra la meta información de las plantillas de Writer.

mat -d MiTemplate.ott

Pero, mat2:

mat2 -s MiTemplate.ott

falló

[-] MiTemplate.ott's format (application/vnd.oasis.opendocument.text-template) is not supported

Pero el truco con el cambio de la extensión del archivo ayudó – resultó ser suficiente cambiar la extensión .ott a .odt para que mat2 mostrara los metadatos de este archivo (similar a lo que se hizo en el artículo sobre archivos pro Word).

Metadatos de Imágenes en Archivos de LibreOffice

Al añadir imágenes a MS Word, este programa comprime las imágenes y los metadatos de las mismas se pierden. LibreOffice Writer guarda la imagen original. De esto se desprende una conclusión muy importante: si las imágenes que se insertan en el documento de LibreOffice contienen, por ejemplo, coordenadas GPS, información de la cámara y otros metadatos, ¡se pueden extraer!

Creé un archivo de texto en Writer (.odt) y añadí allí una imagen.

El programa mat encontró tanto la foto como la información sobre ella:

mat -d MiDocumento.odt
Metadatos de imágenes en archivos de LibreOffice
Metadatos de imágenes en archivos de LibreOffice

El programa mat2 mostraba los datos de forma más legible:

mat2 -s MiDocumento.odt
Metadatos de imagen en archivo Writer con mat2
Metadatos de imagen en archivo Writer con mat2

Estructura de los Archivos de LibreOffice

Los archivos de Office son un paquete – puedes cambiar la extensión del fichero a .zip y descomprimirlo.

En su interior habrá sobre todo archivos .xml:

Estructura de archivos LibreOffice en formato Zip
Estructura de archivos LibreOffice en formato Zip

Las imágenes están en la carpeta Pictures/.

El texto del documento se almacena en el archivo content.xml.

Los datos de la firma electrónica se colocan en el archivo META-INF/documentsignatures.xml.

En el archivo meta.xml se almacenan metadatos como la hora de creación, la hora de revisión, el número de revisiones, las estadísticas del documento, el programa que creó el documento y algunos otros.

Si se desea, los datos pueden ser editados manualmente y luego reensamblados en un archivo de LibreOffice – por analogía con los archivos de MS Word como se muestra en este artículo.

Cómo Borrar los Metadatos de los Archivos de LibreOffice

Las herramientas que ya conocemos se encargan perfectamente de limpiar los metadatos: basta con ejecutarlas sin opciones y especificar la ruta del archivo.

Para limpiar/borrar los metadatos de un archivo utilizando mat:

mat MiDocumento.odt

Para limpiar/borrar con mat2:

mat2 MiDocumento.odt

Ten en cuenta que mat2 NO borra el archivo especificado – dejará el archivo intacto, pero creará un nuevo archivo, en el nombre se añadirá la cadena “cleaned” justo antes de la extensión del archivo.

También es importante tener en cuenta que el programa mat2 no pudo borrar el archivo que contiene las macros, y el programa mat sí lo hizo.

Limpieza Total

¡Todos los archivos internos, incluyendo las imágenes, también eliminan todos los metadatos! Es decir, no es necesario borrar sus metadatos antes de añadir una foto a un documento si piensas hacer una limpieza de metadatos para todo el documento.

Conclusión

Si no tienes una tarea para preservar tu anonimato, entonces tal vez no debas preocuparte por los metadatos – no pueden hacerte daño.

Para todos los demás casos, los programas mat y mat2 te ayudarán. A pesar de la similitud de los nombres, estas herramientas fueron creadas por diferentes autores y la segunda no es una continuación de la primera – son sólo dos programas diferentes.

My Cart Close (×)

Tu carrito está vacío
Ver tienda