Hacking básico: ¿Qué publicas cuando publicas un documento?

[siteorigin_widget class=”SiteOrigin_Widget_Image_Widget”][/siteorigin_widget]

Video con una adaptación de parte de la ponencia realizada por Enrique Rando González en el evento Sedian Day, realizado el día 26 de septiembre de 2.018 en Sevilla. Duración: 6 minutos y 41 segundos

Los documentos ofimáticos contienen más de lo que se puede ver a simple vista. Mucho más. Desde datos sobre las personas que participaron en su elaboración hasta referencias a los equipos en que fueron creados y procesados.

Información toda ella de gran utilidad para quien prepara un ataque por medios tecnológicos y/o de ingeniería social.

Por Enrique Rando González, Jefe de Departamento de Informática en la Delegación Territorial de Conocimiento y Empleo en Málaga.

[siteorigin_widget class=”SiteOrigin_Widget_Video_Widget”][/siteorigin_widget]
NOTA: Se recomienda reproducir el video en modo de pantalla completa y usando una resolución de 720 p. Todo ello se puede configurar usando los botones que aparecen en la parte inferior cuando se pulsa el botón de “Play”.

Introducción

Corren tiempos en los que documentos cosas en Internet ya no es una opción. Las empresas lo hacen para atraer visitas que después intentan convertir en beneficios de mil y una formas. Las Administraciones Públicas, muchas veces, por imperativo legal y, en todo caso, para facilitar sus relaciones con la ciudadanía. Como consecuencia, la mayoría de las organizaciones publican documentos ofimáticos en sus sitios web: textos escritos con Word o Writer, hojas de cálculo elaboradas con Excel o Calc, presentaciones, ficheros PDF…

Pero no es este un paso que haya que dar sin tomar precauciones. Cada documento que se publica debe ser revisado para comprobar que no contiene información secreta, sensible o cuya difusión pudiera resultar inapropiada. Y seguro que estas verificaciones son la norma.

El problema es que hay cosas que no se ven a primera vista. Los documentos incluyen, además de su contenido, otros elementos como los metadatos o los datos ocultos. Cosas que no aparecen al imprimirlos, pero que quedan almacenados y ocultos dentro de la estructura del fichero que los contiene.

Este video usa una hoja de cálculo de LibreOffice Calc a modo de ejemplo. Pero que nadie piense que el problema se reduce a este tipo de fichero. Desde los documentos de Word a las fotos tomadas con el móvil, todos los documentos tienen sus conjuntos de datos asociados. Y lo que en ellos se encuentre dependerá de múltiples factores. Incluyendo el modelo de impresora que se tenga…


Transcripción del contenido del video

1.- Crear un fichero ODS

Tenemos un ordenador con Windows 10.

Estamos viendo su escritorio.

Activamos el menú contextual haciendo clic con el botón secundario del ratón sobre una zona vacía y elegimos las opciones

“Nuevo” -> “Hoja de cálculo de OpenDocument”.

Abrimos el fichero recién creado haciendo doble clic sobre él. Se iniciará LibreOffice.

Una vez se haya cargado la hoja de cálculo, escribimos “123” en su primera celda y cerramos la aplicación guardando los cambios.

2.- Abrir el fichero ODS con 7-zip

Los ficheros ODS (hojas de cálculo de LibreOffice” no son más que archivos comprimidos ZIP. Podemos abrirlos con un descompresor como 7zip. Para ello, hacemos clic con el botón secundario del ratón sobre el fichero y elegimos

“7-zip” -> “Abrir comprimido”

Aparecerá el programa 7-zip, mostrando los ficheros que forman el archivo comprimido.

3.- Fichero meta.xml

De ellos, hacemos doble clic en “meta.xml”. Se abrirá un navegador para mostrar su contenido.

Se puede observar que en “meta.xml” aparece información sobre la versión de LibreOffice utilizada y el sistema operativo de la máquina, con mención a la arquitectura de compilación:

  • LibreOffice 6.1.4.2
  • Windows_x86

4.- Fichero settings.xml

Cerramos la ventana del navegador, volvemos al programa 7-zip y hacemos doble clic sobre el fichero “settings.xml”.

De nuevo se abrirá el navegador. Usando la barra de desplazamiento del lado dercho de la ventana, bajamos hasta encontrar un elemento con el atributo “PrinterName”.

Su valor incluye la inpresora predeterminada. En este caso se trata de una impresora de red llamada

\\print-server\Brother HL-3170 CDW series

Este dato revela el nombre de un servidor y la marca y el modelo de la impresora usada.

Un poco más abajo hay otro elemento con el atributo “PrinterSetup”. Su tipo es “base64Binary”, o sea un valor binario codificado en Base64.

5.- Decodificación del valor binario

Copiamos el contenido de este elemento, abrimos el programa Notepad++ y lo pegamos en él.

En Notepad++, eliminamos las etiquetas XML del inicio y del final, seleccionamos todo el texto y lo decodificamos usando las opciones de menú

“Plugins” -> “MIME Tools” -> “Base64 Decode”.

Con eso el editor de texto se llenará con un texto binario del cual se pueden reconocer algunas cadenas. Por ejemplo, al principio aparece de nuevo la impresora predeterminada.

Para hacer el texto más legible, se abre la ventana de reemplazo de cadenas usando el menú

“Buscar” -> “Reemplazar”.

Con la opción de “Expresión regular” activada, se realizan los siguientes cambios:

1.- Se reemplaza: ([^\x00])\x00

Por: \1

Usando el botón “Reemplazar todo”

Con ello, se eliminan los caracteres nulos de las cadenas Unicode.

 

2.- Se reemplaza: [\x00-\x1f]

Por: \n

Usando el botón “Reemplazar todo”

Con ello, se sustituyen los caracteres no imprimibles por saltos de línea.

 

3.- Se reemplaza: [\r\n]+

Por: \n

Usando el botón “Reemplazar todo”

Con ello, se eliminan los saltos de línea duplicados.

6.- Análisis del contenido de la cadena binaria decodificada

Cerramos la ventana de reemplazo de texto.

Con estas sustituciones, el texto ha quedado más legible y las cadenas quedan separadas, cada una en una línea.

Aparte de la impresora, y de una referencia a su marca y modelo, aparece la cadena “SPANISH, que indica que el driver está en español.

Más abajo, aparecen dos cadenas:

  • Enrique Rando
  • PC-DE-ENRIQUE

Por si cabe alguna duda sobre de qué se trata, abrimos una ventana de PowerShell y lanzamos los comandos:

  • $env:username
  • $env:computername

La primera nos muestra la cuenta de usuario que estamos utilizando: Enrique Rando.

Y la segunda, el nombre del ordenador: PC-DE-ENRIQUE

7.- Resumen

En definitiva, el fichero de hoja de cálculo revelaba la siguiente información:

  • La hoja fue creada por “Enrique Rando”
  • En el equipo “PC-DE-ENRIQUE”
  • Que es un sistema Windows, posiblemente de 32 bits
  • Usando LibreOffice 6.1.4.2
  • En la red hay un servidor  llamado “print-server”.
  • Que comparte una impresora Brother HL-3170 CDW
  • Cuyo sistema operativo parece estar en español

¿Somos conscientes de lo que compartimos cuando compartimos un fichero?

 


 

Puedes encontrar más artículos sobre Seguridad en el monográfico de nuestro número 3. Y un montón de cosas más en cada uno de nuestros números.