lunes, noviembre 21, 2011

Hacking Remote Apps: Jailbreaking con Excel (II de IV)

**************************************************************************************************
- Hacking Remote Apps: Jailbreaking con Excel (I de IV)
- Hacking Remote Apps: Jailbreaking con Excel (II de IV)
- Hacking Remote Apps: Jailbreaking con Excel (III de IV)
- Hacking Remote Apps: Jailbreaking con Excel (IV de IV)
Autores: Juan Garrido "Silverhack" y Chema Alonso
**************************************************************************************************

Tal y como se vio en la primera parte, los documentos Excel se pueden convertir en grandes aliados en máquinas cuando hay acceso local, y eso es lo que se tiene cuando se ejecuta en un entorno con Terminal Services o Citrix. Es por eso que revisar las políticas de seguridad de Excel con respecto a la ejecución de macros se convierte en algo obligatorio.

Políticas de Excel respecto a macros VBA

Un usuario puede configurar la seguridad de su aplicación Excel mediante las opciones del Trust Center (Centro de Confianza) del producto. No obstante, en un entorno administrado, estas opciones se pueden establecer mediante el uso de políticas GPO distribuidas desde el Active Directory, o bien en un entorno Stand Alone del servidor, con el Editor de Políticas.

Para configurar correctamente las políticas referidas a todo el paquete Microsoft Office, se proveen unas plantillas donde aparecen todas las opciones configurables del producto y, por supuesto, las opciones de seguridad de las macros están allí, en la clave de la ruta: Microsoft Office Excel 2007 / Excel Options / Security Trust Center / VBA Macro Warning Settings

Figura 5: Ruta de Política de seguridad con macros VBA

Esa ruta es análoga en Microsoft Office 2010 y, como se puede ver en la imagen, solo está disponible para versiones de Windows Vista o Windows 7.

Una cosa que ya se puede ver es que no es una opción de seguridad como tal, sino que el propio nombre de la clave habla de "Warnings", lo que deja entrever que nunca se pensó en el propio usuario de Excel como un enemigo, sino que el documento que pudiera abrir el usuario fuera el enemigo. Es decir, que las políticas de seguridad de Excel están considerando al usuario del programa como un aliado, y en este entorno no va a ser así, lo que hará que las políticas no sean suficientes para proteger al servidor Terminal Services o Citrix de un uso inapropiado.

Política 1: Ejecutar todas las macros en todos los documentos

Esta opción se considera insegura en las opciones de las macros, y desde el punto de vista nuestro, es decir, en un entorno donde un usuario armado con un Excel lleno de comandos quiere ejecutar instrucciones en el servidor Citrix o Terminal Services, así lo será. Es decir, si está configurada esta opción, entonces se conseguirá la ejecución en el sistema.

Política 2: Case by case

Esta es la configuración por defecto de la seguridad de macros VBA en Excel, con esta opción, el usuario recibirá un warning avisándole de la existencia de macros dentro del documento y de que la ejecución de las mismas podría ser nociva para el sistema. Obviamente, en este entorno, el atacante solo necesita "confiar" en las macros de su documento Excel para poder ejecutar los comandos en el sistema.

Figura 6: El usuario puede activar el contenido

Política 3: Sólo macros firmadas digitalmente de confianza

Esta podría ser una buena candidata a ser la opción de seguridad de muchos entornos. Con esta opción, cuando un documento lleve macros sin firmar por una entidad de confianza del sistema, no se podrán ejecutar y aparecerá un mensaje avisando de este problema.

Una de primeras aproximaciones que seguro que todos habéis podido pensar es la de utilizar macros firmadas con un certificado self signed, y no vais desencaminados, solo que cuando se hace esto, como se puede ver en la imagen siguiente, no hay opción de poder habilitar el contenido en el cuadro de diálogo de alerta, luego parece más o menos seguro.

Figura 7: Warning obtenido con un documento Excel con macros VBA auto-firmadas

La pregunta es, ¿se podrá saltar esta restricción? Pues sí, y no es tan complicado como pueda parecer en un principio. Al final, el problema es otra vez, algo de Playing the piano. En la imagen se puede ver que hay un enlace que pone "Show Signature Details", así que hay que hacer clic en él y seguir la ruta hasta poder visualizar el certificado digital de la CA auto-firmada que se ha utilizado para firmar las macros VBA. En nuestro caso Defcon19.

Figura 8: CA usada para firmar las macros VBA

Una vez allí, el truco es instalar la CA nuestra como una Entidad Raíz de Confianza, con lo que una vez que estemos viendo el certificado de la CA haremos clic en Install Certificate.

Figura 9: Instalación del CA en contenedor de usuario

Para ello, deberemos utilizar el asistente de instalación, que es a nivel de usuario, es decir, no se necesita ser administrador y, podremos ponerla en el contenedor de las CA Raíz de confianza.

Figura 10: Instalación como CA Raíz de Confianza

Una vez hecho esto... ¿qué sucederá con el warning de seguridad de macros? Lo vemos en la siguiente parte.

**************************************************************************************************
- Hacking Remote Apps: Jailbreaking con Excel (I de IV)
- Hacking Remote Apps: Jailbreaking con Excel (II de IV)
- Hacking Remote Apps: Jailbreaking con Excel (III de IV)
- Hacking Remote Apps: Jailbreaking con Excel (IV de IV)
**************************************************************************************************

Entradas populares