**************************************************************************************************
-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (1 de 4)-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (2 de 4)-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (3 de 4)-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (4 de 4)Autores: Juan Garrido "Silverhack" y Chema Alonso**************************************************************************************************
Hoy en día, los trabajadores en su mesa de trabajo con su equipo personal asociado a una roseta o un único equipo portátil están pasando a la historia. Los sistemas tienen a estar centralizados, lo que permite un mayor control por parte de los administradores, mayor movilidad para los usuarios y un ahorro de costes.
Debido a esto, los sistemas en la nube y la publicación de aplicaciones cada día tienen más impacto en las organizaciones, que están adoptando soluciones que van desde el uso de Servicios de Virtualización de Escritorio hasta la Virtualización de Aplicaciones, pasando, como no, por la publicación de las aplicaciones a través de Internet.
La adopción de este tipo de tecnologías, existe desde tiempo ha. En el pasado, y todavía siendo funcional en muchos entornos, se pueden publicar aplicaciones gráficas en sistemas X-Windows, que securizan la conexión tunelizando el tráfico través de conexiones SSH, por ejemplo. Otras soluciones para conectarse a clientes remotos con sistemas como VNC o escritorio remoto se han utilizado durante años por los técnicos para administrar sistemas y dar soporte.
Sin embargo, las soluciones de uso remoto de aplicaciones y sistemas hoy en día son parte de la línea base de aplicaciones de negocio de las empresas que tienen necesidades de:
• Publicar aplicaciones corporativas al exterior
• Ahorrar el coste de licencias para ciertas aplicaciones
• Dar soporte a partners y colaboraciones puntuales
• Ofertar servicios B2C a clientes externos
• Eliminar problemas de movilidad
Las dos principales soluciones empleadas para este tipo de servicios son las basadas en los Terminal Services de Microsoft y Citrix XenAPP o Metaframe. Cada una de ellas se basa en protocolos propietarios que ofrecen características, en algunos casos similares y en otros disitintos, a la hora de publicar algún tipo de aplicación o escritorio.
En esta serie de artículos, abordaremos los problemas de seguridad que se pueden encontrar con ellas, que van desde cómo utilizar los sistemas en las fases de footprinting y fingerprinting, cómo elevar privilegios en un sistema a través de aplicaciones inseguras publicadas y cómo ejecutar comandos en los sistemas a través de fallos de seguridad en la configuración de aplicaciones.
Citrix y el protocolo ICAIdependent Computing Architecture (ICA) es propietario de Citrix y está diseñado principalmente para ser usado en servidores de aplicaciones heterogéneos que publican las mismas aplicaciones al mismo tiempo. Gracias a esta característica, soportada por ambos servicios hoy en día, logran eliminar el problema de la plataforma utilizada y hacerlos muy atractivos para las empresas.
La publicación de aplicaciones, en ambos productos, se puede realizar de distintas maneras, entre las que destacan las siguientes:
• Publicación de ficheros de conexión con los datos de la conexión
• Publicación a través de un Panel Web
• Publicación a través de ejecutables MSI
Ficheros de conexión a CitrixPara la correcta conexión a una aplicación publicada a través de Citrix, se suele utilizar un fichero de conexión, en donde se encuentra toda la información necesaria para acceder a la aplicación publicada. Son ficheros en formato de texto plano y, en su interior, se puede encontrar información útil para un proceso de auditoría, como son
usuarios, contraseñas, direcciones IP - algunas veces internas -, puertos de conexión, rutas de aplicaciones y protocolos de conexión.
Figura 1: Fichero de configuración ICAEn los
ficheros de configuración de Citrix, que tiene extensión .ICA, destacan entre otros los siguientes campos:
-
HttpBrowserAddress: Es la dirección del servidor Citrix. Se usa para el descubrimiento de aplicaciones que se publican vía HTTP. En este campo puede haber varios, si hay algún balanceador de carga por ejemplo.
-
Address: Almacena la dirección IP o el nombre DNS del servidor de aplicaciones. Si se ha cambiado el puerto por defecto, que es el 1494, también irá configurado.
-
InitialProgram: Es la aplicación publicada. La cadena de ejecución empieza con un carácter #
-
AutologonAllowed: Indica si se permite el autologon. Es muy útil para ficheros de configuración en los que aparecen valores de User y Password en la cadena de conexión.
-
SSLEnable: Habilitar SSL.
-
EncryptionLevelSession: Nivel de cifrado a usar.
-
Username: Usuario que se va a utilizar para identificarse en el servidor de aplicaciones.
-
Password: La contraseña del usuario.
-
Domain: Si existe algún dominio de autenticación irá configurado en este campo.
-
PersistentCachePath: Especifica dónde se va a crear la caché persistente. Si existe este parámetro, se puede descubrir el usuario por defecto de la instalación de Citrix analizando esta ruta:
Documents and settings\administrator, por ejemplo.
Con el ejemplo de la Figura 1, de un solo fichero ICA se puede obtener información de las direcciones IP, los puertos de publicación, que es un sistema Windows, con una versión de Oracle, el usuario del servidor web y el usuario y password de la conexión a Oracle.
Descubrimiento de ficheros ICA con BING y GoogleEstos ficheros son fácilmente descubribles a partir de Google o Bing, utilizando sencillos dorks:
Figura 2: Búsqueda de ficheros con GoolgeComo se puede ver en la Figura 2, en Google se puede sacar partido del comando ext para buscar ficheros publicados con esa extensión, y luego filtrar por cualquier parámetro de interés.
En el caso de Bing, como ya vimos en artículo de
Bing Hacking, no existe el modificador ext, pero este fichero es de tipo texto plano, así que se puede filtrar por tipo de fichero TXT y luego filtrar por los parámetros del fichero. La Figura 3 muestra un ejemplo con BING que detecta un gran número de ficheros ICA publicados.
Figura 3: Búsqueda de ficheros ICA descubiertos con BINGA partir de este momento, es fácil descubrir ficheros con datos específicos configurados en ellos.
**************************************************************************************************
-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (1 de 4)-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (2 de 4)-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (3 de 4)-
Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (4 de 4)**************************************************************************************************