martes, noviembre 01, 2011

Metadatos e información oculta en Apple iWork (1 de 4)

************************************************************************************************
************************************************************************************************

Ya hace tiempo le dediqué varias entradas a unos artículos realizados con mi amigo Enrique Rando sobre Metadatos e Información Oculta en documentos Microsoft Office y Metadatos e Información Oculta en Documentos OpenOffice. Toda esa información se convirtió en conocimiento que metimos en las primeras versiones de FOCA.

Ahora, con la salida de la FOCA 3, hemos ido atesorando una serie de ideas y nuevas funciones a introducir en próximas versiones, y en especial en la versión de la FOCA que saldrá creada para analistas forenses, en lugar de para pentesters. Entre las cosas que hemos hablado, por supuesto, están las de añadir nuevos formatos de documentos soportados por el módulo de metadatos y, entre ellos se encuentran los que vienen en los ficheros de datos del paquete ofimático iWork de Apple, que es de lo que trata este artículo.

Figura 1: Apple iWork

El paquete Apple iWork está formado por tres aplicaciones principales, que son Pages, Numbers y Keynote, o lo que es lo mismo, un procesador de textos, una hoja de cálculo y un editor de presentaciones. Es capaz de trabajar con otros formatos de datos para realizar funciones concretas, pero en este artículo se van a tratar solo los formatos principales.

Las extensiones de los ficheros y los buscadores

Los documentos de estas tres aplicaciones tienen unas extensiones muy fácilmente reconocibles. El editor de textos, Pages, utiliza la extensión .pages para sus ficheros. Numbers, que es la hoja de cálculo, trabaja con ficheros con extensión .numbers, mientras que el editor de presentaciones, Keynote, utiliza ficheros terminados en .key.

Para realizar las pruebas era necesario disponer de ficheros públicos creados con diferentes versiones de este paquete, y desde equipos distintos con distintas configuraciones, así que lo más socorrido es tirar de los buscadores. Encontrar estos ficheros a través de los buscadores no es fácil del todo, ya que la extensión .pages se utiliza en muchas páginas web en Internet y, por ejemplo, la extensión .key es muy utilizada en la distribución de claves públicas PGP, por lo que es difícil reconocerlos a a la primera a través de los buscadores.

La solución fue tirar un poco de Hacking con Buscadores, y sacar partido al conocimiento que de cómo funcionan estos tenemos.

Encontrando ficheros iWork a través de Google y Bing

Los formatos de fichero que utiliza Apple iWork están basados en una estructura similar a ODF y OOXML, es decir, una estructura de carpetas y archivos comprimidos en un único fichero. Esta compresión se realiza con compresión PK, por lo que, como ya vimos en el artículo de "Cuatro Cosas que BING hace mejor que Google", este último, es decir, salvo que tenga implementado un indexador como hace con ODF u OOXML, como Google no descomprime ficheros PK, no será capaz de ver el contenido de estos ficheros.

Tras varias pruebas, es fácil comprobar que Google directamente ignora el contenido generado con Apple iWork, así que si una web espera que sean indexados por las palabras que aparecen en sus documentos Pages, Numbers o Keynote se llevará un chasco. Si eres el responsable SEO de una empresa, no publiques contenido en Apple iWork.

Conociendo esto, descubrir ficheros en Google de estos formatos es más sencillo, solo hay que buscar documentos con estas extensiones, es decir, .pages, .numbers y .key que no cuenten con ninguna descripción en los resultados, es decir, que no hayan sido indexados. No todos serán los ficheros que buscan, pero si son ficheros de Apple iWork cumplirán esta regla.

Figura 2: Archivo Apple iWork Numbers visto en Google

En el caso de Bing sucede algo igual y algo distinto. Sucede igual que Bing ignora el formato de estos ficheros, es decir, que no indexa el resultado de los ficheros Apple iWork porque no implementa un filtro que interpretación del documento, pero se comporta distinto a Google porque éste sí es capaz de indexar el contenido de ficheros comprimidos con PK, por lo que basta con buscar archivos comprimidos que tengan algún fichero estándar en todos los documentos Apple iWork, como por ejemplo archivos .plist y se obtendrá una buena cantidad de documentos de pruebas.

Figura 3: Archivos pages descubiertos con un poco de Bing Hacking usando filetype

La estructura de los ficheros de Apple iWork

Como ya se ha dicho antes, los tres tipos de ficheros de las aplicaciones Apple iWork, es decir, los documentos .pages, .numbers y .key, mantienen una misma estructura. Los tres son contenedores comprimidos que contiene los siguientes elementos comunes:

- Fichero Index: Es el documento maestro del archivo. Donde está el contenido. Cambia la extensión dependiendo de la aplicación. Se verá más adelante.

- Fichero BuildVersionHistory.plist: Historial de versiones del documento.

- Carpeta QuickLook: Contiene los archivos de pre-visualización.

- Carpeta thumbs: Miniaturas creadas por la aplicación de imagenes incrustadas.

- Archivos incrustados: Archivos originales incrustados sin modificar en el documento.

Figura 4: Visualización interna de un fichero .pages

No tienen exactamente la misma estructura de ficheros, y los ficheros utilizan esquemas XML distintos, pero esa visualización de la Figura 4 de un documento .pages es más o menos la misma en todos los archivos de Apple iWork. Y todos esos ficheros contenidos tienen información bastante como vamos a ir viendo por partes.

************************************************************************************************
************************************************************************************************

Entradas populares