Entornos restrictivos - Citrix
Citrix Breakout
Numerosas organizaciones aprovechan plataformas de virtualización como Terminal Services, Citrix, AWS AppStream, CyberArk PSM y Kiosk para ofrecer soluciones de acceso remoto con el fin de satisfacer sus necesidades comerciales. Sin embargo, en la mayoría de las organizaciones se implementan medidas de "bloqueo" en sus entornos de escritorio para minimizar el posible impacto de miembros del personal malintencionados y cuentas comprometidas en la seguridad general del dominio. Si bien estas restricciones de escritorio pueden obstaculizar a los actores de amenazas, existe la posibilidad de que "escapen" del entorno restringido.
Metodología básica para el breakout:
Obtener acceso a un
Dialog Box
.Utilizar el cuadro de diálogo para lograr
command execution
.Escalar privilegios
para obtener mayores niveles de acceso.
En ciertos entornos, donde se implementan medidas de protección mínimas, puede incluso haber un acceso directo estándar a cmd.exe
en el menú Inicio, lo que podría facilitar el acceso no autorizado. Sin embargo, en un entorno lock-down
altamente restrictivo, cualquier intento de localizar "cmd.exe
" o "powershell.exe
" en el menú Inicio no arrojará resultados. De manera similar, acceder C:\Windows\system32
a través del Explorador de archivos generará un error, lo que impedirá el acceso directo a utilidades críticas del sistema. Obtener acceso al "Símbolo del sistema/CMD" en un entorno tan restringido representa un logro notable, ya que proporciona un amplio control sobre el sistema operativo. Este nivel de control permite a un atacante recopilar información valiosa, lo que facilita una mayor escalada de privilegios.
Existen muchas técnicas que se pueden utilizar para salir de un entorno Citrix. Esta sección no cubrirá todos los escenarios posibles, pero analizaremos las formas más comunes de realizar una fuga de Citrix.
Ejemplo de Caso Práctico
Visite http://humongousretail.com/remote/
en el host generado al final de la sección mediante la sesión RDP e inicie sesión con las credenciales proporcionadas a continuación. Después de iniciar sesión, haga clic en Default Desktop
para obtener el archivo launch.ica
de Citrix y conectarse al entorno restringido.
Evitar restricciones de ruta
Cuando intentamos visitar C:\Users
en el Explorador de archivos, descubrimos que está restringido y se produce un error. Esto indica que se ha implementado una política de grupo para restringir que los usuarios exploren directorios en la unidad C:\
mediante el Explorador de archivos. En tales situaciones, es posible utilizar cuadros de diálogo de Windows como un medio para eludir las restricciones impuestas por la política de grupo. Una vez que se obtiene un cuadro de diálogo de Windows, el siguiente paso suele implicar navegar hasta una ruta de carpeta que contenga ejecutables nativos que ofrecen acceso interactivo a la consola (es decir, cmd.exe). Por lo general, tenemos la opción de ingresar directamente la ruta de la carpeta en el campo de nombre de archivo para obtener acceso al archivo.
Numerosas aplicaciones de escritorio implementadas a través de Citrix están equipadas con funcionalidades que les permiten interactuar con archivos en el sistema operativo. Funciones como Guardar, Guardar como, Abrir, Cargar, Explorar, Importar, Exportar, Ayuda, Buscar, Escanear e Imprimir, generalmente brindan a un atacante la oportunidad de invocar un cuadro de diálogo de Windows. Existen múltiples formas de abrir un cuadro de diálogo en Windows utilizando herramientas como Paint, Bloc de notas, Wordpad, etc. Trataremos el uso de este método MS Paint
como ejemplo para esta sección.
Ejecute Paint
desde el menú Inicio y haga clic en File > Open
para abrir el cuadro de diálogo.
Con el cuadro de diálogo de Windows abierto en Paint, podemos ingresar la ruta UNC\\127.0.0.1\c$\users\pmorgan
debajo del campo Nombre de archivo, con Tipo de archivo establecido en All Files
y al presionar Enter obtenemos acceso al directorio deseado.
Acceder a un recurso compartido SMB desde un entorno restringido
Si se establecen restricciones, el Explorador de archivos no permite el acceso directo a los recursos compartidos SMB en la máquina del atacante ni al servidor Ubuntu que aloja el entorno Citrix. Sin embargo, al utilizar la ruta UNC dentro del cuadro de diálogo de Windows, es posible sortear esta limitación. Este enfoque se puede emplear para facilitar las transferencias de archivos desde una computadora diferente.
Inicie un servidor SMB desde la máquina Ubuntu usando el script de Impacket smbserver.py
.
De regreso al entorno de Citrix, inicie la aplicación "Paint" a través del menú de inicio. Navegue hasta el menú "Archivo" y seleccione "Abrir", lo que hará que aparezca el cuadro de diálogo. Dentro de este cuadro de diálogo de Windows asociado con Paint, ingrese la ruta UNC \\10.13.38.95\share
en el campo designado "Nombre de archivo". Asegúrese de que el parámetro Tipo de archivo esté configurado en "Todos los archivos
". Al presionar la tecla "Enter", se logra ingresar al recurso compartido.
Debido a la presencia de restricciones dentro del Explorador de archivos, la copia directa de archivos no es viable. Sin embargo, un enfoque alternativo implica ejecutar con click derecho
los archivos ejecutables y luego ejecutarlos. Haga clic derecho en el binario pwn.exe
y seleccione Open
, lo que debería indicarnos que lo ejecutemos y se abrirá una consola cmd.
El ejecutable pwn.exe
es un binario compilado personalizado desde un archivo pwn.c
que, al ejecutarse, abre el cmd.
Luego podemos usar el acceso cmd obtenido para copiar archivos del recurso compartido SMB al directorio de escritorio de pmorgan.
Explorador alternativo
En los casos en los que se imponen restricciones estrictas al Explorador de archivos, se pueden emplear editores de sistemas de archivos alternativos como Q-Dir
o Explorer++
como solución alternativa. Estas herramientas pueden eludir las restricciones de carpetas impuestas por la política de grupo, lo que permite a los usuarios navegar y acceder a archivos y directorios que, de otro modo, estarían restringidos dentro del entorno estándar del Explorador de archivos.
Vale la pena señalar que anteriormente el Explorador de archivos no podía copiar archivos desde el recurso compartido SMB debido a las restricciones existentes. Sin embargo, mediante el uso de Explorer++
, la capacidad de copiar archivos desde la ubicación \\10.13.38.95\share
al escritorio perteneciente al usuario pmorgan
se ha realizado con éxito en la siguiente captura de pantalla.
Explorer++ es muy recomendable y se utiliza con frecuencia en estas situaciones debido a su velocidad, interfaz fácil de usar y portabilidad. Al ser una aplicación portátil, se puede ejecutar directamente sin necesidad de instalación, lo que la convierte en una opción conveniente para eludir las restricciones de carpetas establecidas por la política de grupo.
Editores de registro alternativos
De manera similar, cuando el Editor de Registro predeterminado está bloqueado por la política de grupo, se pueden emplear editores de Registro alternativos para eludir las restricciones de la política de grupo estándar. Simpleregedit , Uberregedit y SmallRegistryEditor son ejemplos de este tipo de herramientas GUI que facilitan la edición del registro de Windows sin verse afectado por el bloqueo impuesto por la política de grupo. Estas herramientas ofrecen una solución práctica y eficaz para administrar la configuración del registro en entornos tan restringidos.
Modificar archivo de acceso directo existente
También se puede lograr acceso no autorizado a rutas de carpetas modificando los accesos directos de Windows existentes y configurando la ruta del ejecutable deseado en el campo Target
.
Los siguientes pasos describen el proceso:
Click derecho
en el acceso directo deseado.Seleccionar
Propiedades
.
Dentro del campo
Target
, modifique la ruta a la carpeta a la que desea acceder. Nosotros apuntaremos aC:\Windows\System32\cmd.exe
para ganar acceso a la terminal:
Ejecute el acceso directo y se ejecutará cmd:
En los casos en los que no se encuentra disponible un archivo de acceso directo existente, existen métodos alternativos a tener en cuenta. Una opción es transferir un archivo de acceso directo existente mediante un servidor SMB. Como alternativa, podemos crear un nuevo archivo de acceso directo mediante PowerShell, como se menciona en la sección Interacción con usuarios en la pestaña Generando un archivo malicioso .lnk
. Estos enfoques brindan versatilidad para lograr nuestros objetivos al trabajar con archivos de acceso directo.
Ejecución de script
Cuando se configuran extensiones de script como .bat
, .vbs
, o .ps
para que ejecuten automáticamente su código mediante sus respectivos intérpretes, se abre la posibilidad de que se elimine un script que pueda servir como consola interactiva o facilitar la descarga y el lanzamiento de varias aplicaciones de terceros, lo que da como resultado eludir las restricciones vigentes. Esta situación crea una posible vulnerabilidad de seguridad en la que actores maliciosos podrían explotar estas funciones para ejecutar acciones no autorizadas en el sistema.
Crea un nuevo archivo de texto y llámalo "
evil.bat
".Abra "
evil.bat
" con un editor de texto como el Bloc de notas.Introduzca el comando "
cmd
" en el archivo.
Guarde el archivo.
Al ejecutar el archivo "evil.bat
", se abrirá una ventana del símbolo del sistema. Esto puede resultar útil para realizar diversas operaciones de línea de comandos.
Escalando privilegios
Una vez que se establece el acceso al CMD, es posible buscar vulnerabilidades en un sistema con mayor facilidad. Por ejemplo, también se pueden utilizar herramientas como Winpeas y PowerUp para identificar posibles problemas de seguridad y vulnerabilidades dentro del sistema operativo.
Al usar PowerUp.ps1
, encontramos que la clave Always Install Elevated está presente y configurada.
También podemos validar esto usando el Símbolo del sistema consultando las claves de registro correspondientes:
Una vez más, podemos hacer uso de PowerUp, utilizando su función Write-UserAddMSI.
Esta función facilita la creación de un archivo .msi
directamente en el escritorio.
Ahora podemos ejecutar UserAdd.msi
y crear un nuevo usuario backdoor:T3st@123
en el grupo Administrators
. Tenga en cuenta que si le asigna una contraseña que no cumpla con los criterios de complejidad de contraseña, se generará un error.
Regrese a CMD y ejecute runas
para iniciar el símbolo del sistema como el usuario backdoor
recién creado.
Cómo eludir el UAC
Aunque el usuario recién creado backdoor
sea miembro del grupo Administrators
, el acceso al directorio C:\users\Administrator
sigue siendo inviable debido a la presencia del User Account Control (UAC). El UAC es un mecanismo de seguridad implementado en Windows para proteger el sistema operativo de cambios no autorizados. Con el UAC, cada aplicación que requiera el token de acceso de administrador debe solicitar el consentimiento del usuario final.
Hay numerosos scripts de omisión del UAC , diseñados para ayudar a eludir el mecanismo del UAC activo. Estos scripts ofrecen métodos para sortear las restricciones del UAC y obtener privilegios elevados.
Después de omitir correctamente el control de cuentas de usuario, se abrirá una nueva ventana de PowerShell con privilegios más altos y podemos confirmarlo utilizando el comando whoami /all
o whoami /priv
. Este comando proporciona una vista completa de los privilegios del usuario actual. Y ahora podemos acceder al directorio del administrador.
Caso práctico
Pregunta 1
Envíe la flag del usuario desde
C:\Users\pmorgan\Downloads
Pregunta 2
Envíe la flag del Administrador desde
C:\Users\Administrator\Desktop
Última actualización
¿Te fue útil?