domingo, mayo 29, 2011

Hacking Remote Apps: Fingerprinting con Terminal Services & Citrix (3 de 4)

**************************************************************************************************
- 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
**************************************************************************************************

Publicación web de aplicaciones Citrix

Tanto Citrix como Terminal Server, pueden publicar aplicaciones vía Web mediante un portal de conexión. Centrándonos en servidores Citrix, este portal es el que utilizarán los usuarios para conectarse a las aplicaciones corporativas de la empresa, como por ejemplo MetaframeXP, que vimos en la anterior parte de este artículo.


Figura 7: Aplicaciones publicadas en Citrix

Por regla general, el cliente Citrix, cuando necesita conocer qué aplicaciones se encuentran publicadas, utiliza un mecanismo basado en conexiones TCP para la enumeración de las mismas.

La instalación por defecto de servidores Citrix, sin embargo, habilita una funcionalidad que a día de hoy se encuentra en desuso, llamada Master Browser, utilizada por compatibilidad hacia atrás. Este servicio, que opera bajo el puerto UDP 1604, es utilizado para listar las aplicaciones publicadas.

El principal problema radica en que este servicio es accesible por parte de un usuario sin necesidad de autenticarse en el servidor, pudiendo, en la mayoría de casos, descubrir las aplicaciones que se encuentran publicadas en el servidor. Para ello, Ian Vitek, ya avisó de esto allá por el año 2002, y realizó una serie de scripts en Perl para el correcto aprovechamiento de este fallo.


Figura 8: Enumeración de aplicaciones en Citrix

Si este servicio se encuentra desactivado en el servidor, siempre se puede intentar enumerar las aplicaciones vía web, consultando los ficheros de configuración accesibles por HTTP, siempre y cuando las ACL lo permitan.

Para ello, uno de los ficheros a los que se puede acceder es el siguiente:

Config.xml: Fichero en donde se encuentra información sobre servidores internos, sistema de autenticación, redirección de elementos, etc… En la mayoría de casos, podremos enumerar los servidores internos de la organización, gracias a este fichero.


Figura 9: Fichero Config.xml descargado por GET


Figura 10: Servidores internos en fichero config.xml

Publicación vía Kaviza

En sistemas de publicación basados en Kaviza, empresa que compró Citrix cuyo principal nicho de negocio es la publicación de escritorios en sistemas VDI para pequeñas y medianas empresas, si se configuran erróneamente las ACL de listado de aplicaciones, se permite la enumeración de aplicaciones vía HTTP. Para ello, hay que solicitar por GET la URL /dt/hdx/enum.


Figura 11: Publicación de aplicaciones bajo el sistema Kaviza

Una vez realizado el descubrimiento de aplicaciones publicadas, se puede intentar descargar el fichero de conexión ICA, invocando /dt/hdx/launch


Figura 12: Fichero ICA descubierto

**************************************************************************************************
- 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)
**************************************************************************************************

Entradas populares