@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

hacking-en-citrix-xenapp-22

Hardening Citrix XenApp

Hardening Citrix XenApp

Hay veces que instalas una infraestructura, colocas los diferentes filtros, llámense Firewalls en “sus diferentes capas de la cebolla” que existe en el modelo OSI y TCP/IP, y te sientes a salvo. Cuando desgranas un poco en las técnicas de hacking, te das cuenta que igual no estás tan a salvo como deberías o pensabas.

¿Te preocupas en parchear tus servidores periódicamente?¿Tienes un SCCM o WSUS que te ayude a la tarea?¿Eres de los que quitas todos los filtros a nivel de sistema operativo para facilitarte la administración?

Hoy os quiero mostrar cuales son los hacks más comunes dentro de una infraestructura Citrix XenApp, lo sencillo que es hacer un hack si alguien consigue credenciales de cualquier usuario de tu corporación (o está dentro y tiene mucho tiempo libre) y como no podía ser de otra forma, intentaremos combatirlos securizando la infraestructura.

Así que, manos a la obra…qué hacks más comunes existen, que hasta un tipo como yo puede hacer sin meterme mucho en el barro 🙂

HACKS COMUNES EN INFRAESTRUCTURAS CITRIX XENAPP

Sticky Keys hack en Citrix XenApp

Las StickyKeys forman parte de las opciones de accesibilidad de Windows. Son uno de los puntos más comunes de entrada de los hacks para XenApp. Así que hay que deshabilitarlas o limitar su acceso ante un posible ataque.
Combinaciones que se suelen utilizar cuando lanzas un Explorador de Windows, un Internet Explorer u otra aplicación:

  • Shift (mayúsculas) cinco veces: Esta acción carga StickyKeys
  • Dejar pulsado Shift durante 8 segundos: Carga FilterKeys
  • Pulsar Bloqueo numérico durante 5 segundos: Carga ToggleKeys
  • Alt + Shift izquierdo + Imprimir Pantalla: Cambia el tema de Windows por uno de alto contraste
  • Alt izquierdo + Shift izquierdo + Bloqueo numérico: Carga MouseKeys

Abrimos una aplicación desde XenApp y si están habilitadas las sticky keys, pulsamos SHIFT 5 veces:

hacking-en-citrix-xenapp-1

Pulsamos en el enlace y se abrirá esta ventana:

hacking-en-citrix-xenapp-2
Podemos acceder al panel de control:

hacking-en-citrix-xenapp-3
O abrir una consola de comandos entre otras cosas:

hacking-en-citrix-xenapp-4
Y podemos realizar varias acciones sin problema (de aquí a hacer más el “mal” hay pocos pasos):

hacking-en-citrix-xenapp-5

La idea después de aplicar todas las soluciones aportadas en este artículo, es que un usuario con malas intenciones debería recibir algo así como esto, pero para eso explicamos el resto:

hacking-en-citrix-xenapp-6

Notepad hack en Citrix XenApp

Si disponemos de un Notepad publicado en XenApp o alguien puede lanzarlo por otros medios de los explicados, pulsamos Archivo → Abrir:

hacking-en-citrix-xenapp-7
Seleccionamos All files y navegamos por las unidades si no están bloqueadas hasta c:\Windows\system32\cmd.exe:

hacking-en-citrix-xenapp-8
Botón derecho sobre el CMD.exe. Un usuario sin privilegios podría lanzar directamente un CMD.EXE

hacking-en-citrix-xenapp-9
Si el usuario que queda expuesto es un administrador, podría lanzar como administrador la consola:

hacking-en-citrix-xenapp-10
Nos deja lanzar la consola:

hacking-en-citrix-xenapp-11

Calculadora hack en Citrix XenApp

Si, por ejemplo, disponemos una aplicación común como Calculadora también podemos sufrir ciertos ataques. Abrimos la aplicación y pulsamos Help -> View Help

hacking-en-citrix-xenapp-12
Buscamos cualquier palabra:

hacking-en-citrix-xenapp-13
Pulsamos sobre Windows:

hacking-en-citrix-xenapp-14
Se abre un Internet Explorer, escribimos C:\Windows\system32\cmd.exe

hacking-en-citrix-xenapp-15
Pulsamos RUN:

hacking-en-citrix-xenapp-16
Volvemos a hacerlo:

hacking-en-citrix-xenapp-17
Y tenemos acceso a la consola nuevamente. Una vez aquí podemos abrir un notepad y hacer el anterior hack:

hacking-en-citrix-xenapp-18
O abrir un explorador de Windows (explorer.exe) y darnos permisos completos:

hacking-en-citrix-xenapp-19

Wordpad

Wordpad es otra aplicación susceptible a ataques. Abrimos un Wordpad mediante XenApp:

hacking-en-citrix-xenapp-20
Pulsamos sobre Insert Object:

hacking-en-citrix-xenapp-21
Pulsamos sobre Create from file → Escribimos c:\Windows\system32\cmd.exe → pulsamos OK:

hacking-en-citrix-xenapp-22
Pulsamos doble clic sobre el objeto insertado:

hacking-en-citrix-xenapp-23
Y veremos cómo lanzamos una consola de comando:

hacking-en-citrix-xenapp-24

Microsoft Word hack en Citrix XenApp

Una de las aplicaciones más comunes en un entorno XenApp es Microsoft Word. Si no impedimos lanzar macros, podemos llegar a tener un agujero en nuestros sistemas. Abrimos Microsoft Word y vamos a Vista → Macros:

hacking-en-citrix-xenapp-25
Le damos un nombre a la macro:

hacking-en-citrix-xenapp-26
Escribimos Shell (“cmd.exe”) y pulsamos RUN:

hacking-en-citrix-xenapp-27
Y se abrirá un CMD

Exploit hack Citrix XenApp
Podemos usar un exploit para acceder, os dejo el enlace de una entrada interesante. Lo primero que tenemos que hacer es descubrir las aplicaciones publicadas. Existen dos métodos con nmap o perl:

http://resources.infosecinstitute.com/penetration-testing-of-a-citrix-server/#gref
Si dispones de las credenciales habría que manipular el fichero ICA. Pulsamos sobre la aplicación, pero impedimos que se abra automáticamente:

hacking-en-citrix-xenapp-28
Editamos el fichero con un notepad, el parámetro InitialProgram:

hacking-en-citrix-xenapp-29
Modificamos el valor por InitialProgram=c:\Windows\explorer.exe (esto no he logrado que funcione) si queremos lanzar una aplicación directa, ó InitialProgram=#Calculator para una publicada diferente a la original:

hacking-en-citrix-xenapp-30
Salvamos y hacemos doble clic sobre el fichero. Aunque con errores se abrirá:

hacking-en-citrix-xenapp-31

SOLUCIONES A HACKS MAS COMUNES EN XENAPP

Para las soluciones me he basado, entre otros, en el blog de http://carlstalhood.com/ que es de obligada lectura para todo administrador de Citrix.

Bloquear Sticky Keys

Para poder deshabilitar las StickyKeys habrá que modificar ciertos parámetros del sistema, básicamente claves de registro, que podemos lanzar vía GPO (a nivel de usuario) o incorporar directamente en la plantilla.

  • [HKEY_CURRENT_USER\Control Panel\Accessibility\StickyKeys] : Cambiar valor Flags de 510 a 506
  • [HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Response] : Cambiar valor Flags de 126 a 122
  • [HKEY_CURRENT_USER\Control Panel\Accessibility\HighContrast] : Cambiar valor Flags de 126 a 122
  • [HKEY_CURRENT_USER\Control Panel\Accessibility\ToggleKeys] : Cambiar valor Flags de 62 a 58
  • [HKEY_CURRENT_USER\Control Panel\Accessibility\MouseKeys] : Cambiar valor Flags de 62 a 58

User LockDown

La mayoría del malware intenta utilizar los usuarios que hackean con permisos de administrador. Si un usuario llega a tener permisos de administración sobre un servidor XenApp, tendremos la infraestructura expuesta.
http://www.carlstalhood.com/group-policy-objects-vda-computer-settings/#create
http://www.carlstalhood.com/group-policy-objects-vda-computer-settings/#admtemp
https://www.microsoft.com/en-gb/download/details.aspx?id=56121

Control Panel GPO Settings

Si un usuario es capaz de acceder al sistema, tendremos que limitar sus pasos dentro del servidor. Una buena práctica es limitar el Panel de Control para que sólo sea accesible para los usuarios administradores.
Deberemos pasar los siguientes parámetros por GPO:

  • User Configuration | Policies | Administrative Templates | Control Panel
    • Always open All Control Panel Items when opening Control Panel = enabled
    • Prohibit Access to Control Panel and PC Settings = enabled ** LIMITAMOS POR COMPLETO (Recomendado) **
    • Show only specified Control Panel items = enabled, canonical names = **LIMITAR SOLO PARCIALMENTE (Ponemos en la lista lo que nos interesa que sea accesible)**
      • Microsoft.RegionAndLanguage
      • Microsoft.NotificationAreaIcons
      • MLCFG32.CPL
      • Microsoft.Personalization
      • Microsoft.Mouse
      • Microsoft.DevicesAndPrinters
      • Microsoft.System (lets users see the computer name)
  • User Configuration | Policies | Administrative Templates | Control Panel | Add or Remove Programs
    • Remove Add or Remove Programs = enabled
  • User Configuration | Policies | Administrative Templates | Control Panel | Programs
    • Hide the Programs Control Panel = enabled

Desktop GPO Settings

Limitaremos el acceso desde el escritorio del perfil del usuario a determinados iconos que pueden provocar accesos indebidos.

  • User Configuration | Policies | Administrative Templates | Desktop
    • Hide Network Locations icon on desktop = enabled
    • Prohibit user from manually redirecting Profile Folders = enabled ** NO FUNCIONA FOLDER REDIRECTION **
    • Remove Properties from the Computer icon context menu = enabled
    • Remove Properties from the Recycle Bin icon context menu = enabled

Start Menu & Taskbar GPO Settings

Lo mismo haremos con menú inicio y la barra de herramientas:

  • User Configuration | Policies | Administrative Templates | Start Menu & Taskbar
    • Clear the recent programs list for new users = enabled
    • Do not allow pinning Store app to the taskbar = enabled
    • Remove and prevent access to Shut Down, Restart, Sleep, and Hibernate commands = enabled
    • Remove common program groups from Start Menu = enabled (only if you have some other means for putting shortcuts back on the user’s Start Menu/Desktop. Also, enabling this setting might prevent Outlook 2013 desktop alerts. Microsoft 3014833)
    • Remove Help menu from Start Menu = enabled
    • Remove links and access to Windows Update = enabled
    • Remove Network Connections from Start Menu = enabled
    • Remove Network icon from Start Menu = enabled
    • Remove Run menu from Start Menu = enabled
    • Remove the Action Center icon = enabled (not in Windows 10 ni W2012)
    • Remove the networking icon = enabled
    • Remove the Security and Maintenance icon = enabled (Windows 10)
    • Remove user folder link from Start Menu = enabled

System GPO Settings

Evitaremos que tengan acceso a la edición del registro y al prompt del sistema:

  • User Configuration | Policies | Administrative Templates | System
    • Prevent access to registry editing tools = enabled, Disable regedit from running silently = No
    • Prevent access to the command prompt = enabled, Disable command prompt script processing = No

Explorer GPO Settings

Uno de los puntos más importantes es limitar el acceso desde el Explorador de Windows e Internet Explorer a las unidades del sistema, así como a menús de seguridad

    • User Configuration | Policies | Administrative Templates | Windows Components | File Explorer (Windows 8+) or Windows Explorer (Windows 7)
      • Hide these specified drives in My Computer = enabled, Restrict A, B, C, and D drives only
      • Hides the Manage item on the File Explorer context menu = enabled
      • Prevent access to drives from My Computer = enabled, Restrict A, B, C, and D drives only. If this setting is enabled, you can’t use Start Menu’s search to find programs.
      • Prevent users from adding files to the root of their Users Files folder = enabled
      • Remove “Map Network Drive” and “Disconnect Network Drive” = enabled
      • Remove Hardware tab = enabled
      • Remove Security Tab = enabled
      • Turn off caching of thumbnail pictures = enabled
  • Esto sólo para Windows 10. Previene que a un usuario no le aparezcan ciertos mensajes al lanzar un explorador de Windows:
    • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced
    • Value = ShowSyncProviderNotifications (DWORD) = 0

Windows Update GPO Settings

Evitamos que a los usuarios les aparezcan notificaciones de Windows update. Un usuario podría lanzar un Internet Explorer al hacer clic, y utilizarlo como explorador de Windows para tener acceso a las unidades si no están bloqueadas:

  • User Configuration | Policies | Administrative Templates | Windows Components | Windows Update
    • Remove access to use all Windows Update features = enabled, 0 – Do not show any notifications

Hide Favorites, Libraries, Network and Redirected local drivers

Una manera de evitar problemas, es que los usuarios directamente accesos directos, ya sabéis “ojos que no ven…”
Necesitaremos darnos permisos previamente sobre cada una de las claves a modificar de éste apartado (repetir esto en cada clave a modificar). En la ruta, carpeta ShellFolder, botón derecho –> Permisos:

hacking-en-citrix-xenapp-32

Pulsamos Opciones avanzadas:

hacking-en-citrix-xenapp-33

Pulsamos Cambiar en Propietario. Una vez que tenga permisos el grupo o usuario que nos interese, le damos Control total a nivel de Permisos:

hacking-en-citrix-xenapp-34

Clave de Registro para ocultar Menú Favoritos

Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Device and Resource Redirection > Do not allow drive redirection > Enable

  • Para 32 Bits:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder] : Cambiar valor DWord Attributes de a0900100 a a9400100
  • Para 64 Bits:
    • [HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder] : Cambiar valor DWord Attributes de a0900100 a a9400100
Clave de Registro para ocultar Libraries
  • Para 32 Bits:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder] : Cambiar valor DWord Attributes de b080010d a b090010d
  • Para 64 Bits:
    • [HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder] : Cambiar valor DWord Attributes de b080010d a b090010d
Clave de Registro para ocultar Menú Network
  • Para 32 Bits:
    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder] : Cambiar valor DWord Attributes a b0940064
  • Para 64 Bits:
    • [HKEY_CLASSES_ROOT\CLSID\{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}\ShellFolder] : Cambiar valor DWord Attributes de b080010d a b090010d

Ocultar barra de idiomas

Es un hack bastante común, ya que da acceso al sistema si no está bloqueado, así que debemos evitar que se abra:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI

Crearemos LangBarDeminimizerFlags, con valor 1 y tipo DWORD.

Y reiniciar servidor

Lamentablemente, existen bastantes más hacks que los que puedo enseñar en una entrada, ya que la gente tiene mucho tiempo para hacer el mal. Lo mejor es seguir criterios como las Common Criterias para Citrix y deducir qué más le conviene a vuestra infraestructura o a vuestro cliente:

https://www.citrix.com/about/legal/security-compliance/common-criteria.html

Otro documento interesante:

https://www.citrix.com/content/dam/citrix/en_us/documents/white-paper/securing-the-published-browser.pdf

Espero que os parezca interesante…

OTRAS ENTRADAS RELACIONADAS CON HARDENING

¿Te ha gustado la entrada SÍGUENOS EN TWITTER?

¿Te ha gustado la entrada SÍGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

instalar-docker-bajo-contenedor-lxc-proxmox-4

Instalar Docker sobre contenedor LXC Proxmox

Instalar Docker sobre contenedor LXC Proxmox Os voy a mostrar como podemos virtualizar contenedores Docker …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

tres × 2 =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu