{"id":432,"date":"2024-05-02T18:35:25","date_gmt":"2024-05-02T22:35:25","guid":{"rendered":"https:\/\/jsec-rt.com\/?p=432"},"modified":"2024-07-08T22:54:01","modified_gmt":"2024-07-09T02:54:01","slug":"rt-movimiento-lateral-a-traves-de-mssql-parte-2","status":"publish","type":"post","link":"https:\/\/jsec-rt.com\/index.php\/2024\/05\/02\/rt-movimiento-lateral-a-traves-de-mssql-parte-2\/","title":{"rendered":"RT \u2013 Movimiento lateral a trav\u00e9s de MSSQL \u2013 Parte 2"},"content":{"rendered":"\n<p>Continuando con las entradas relacionadas a explotaci\u00f3n sobre MSSQL, ahora exploraremos como explotar bases de datos enlazadas y la posibilidad de desplegar un servidor SSH &#8220;portable&#8221; a trav\u00e9s de una base de datos MSSQL con la funci\u00f3n &#8220;xp_cmdshell&#8221; habilitada y que utilice a un usuario de servicio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n de bases de datos enlazadas<\/h2>\n\n\n\n<p>Utilizaremos la base de datos del anterior post y una nueva instalada en el servidor <strong>coreint<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"390\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1024x390.png\" alt=\"\" class=\"wp-image-436\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1024x390.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-300x114.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-768x292.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1536x585.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image.png 2044w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora, accedemos con un usuario privilegiado a la base de datos en <strong>dbint<\/strong>, navegando en las siguientes opciones hasta identificar la carpeta <strong>Linked Servers<\/strong>, donde hacemos click derecho y accedemos a la opci\u00f3n <strong>New Linked Server<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"837\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1-1024x837.png\" alt=\"\" class=\"wp-image-437\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1-1024x837.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1-300x245.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1-768x627.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-1.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ac\u00e1 podemos definir el hostname del servidor, por lo que es necesario que los registros DNS est\u00e9n configurados de manera correcta en el servidor DNS, en el caso de que se tenga un enlace sobre un servidor en un dominio distinto, se tendr\u00e1 que agregar el registro hacia este nuevo servidor en el DC actual o establecer el DC del dominio distinto como servidor DNS principal.<\/p>\n\n\n\n<p>En nuestro caso, ambos servidores est\u00e1n en el mismo dominio, as\u00ed que no es necesario alterar los registros DNS, simplemente establecemos el hostname y marcamos la opci\u00f3n <strong>SQL Server<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"769\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-2-1024x769.png\" alt=\"\" class=\"wp-image-438\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-2-1024x769.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-2-300x225.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-2-768x577.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-2-1536x1154.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-2.png 1978w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Luego, hacemos click en la opci\u00f3n <strong>Security<\/strong> y marcamos la ultima opci\u00f3n, definiendo una credencial de autenticacion local que creamos en la base de datos de <strong>coreint<\/strong>, en mi caso, <strong>sqluser<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"728\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-7-1024x728.png\" alt=\"\" class=\"wp-image-443\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-7-1024x728.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-7-300x213.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-7-768x546.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-7-1536x1092.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-7.png 2026w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Finalmente, vamos a la opci\u00f3n <strong>Server Options<\/strong> y cambiamos los valores de las dos opciones de RPC a <strong>True<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"708\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-4-1024x708.png\" alt=\"\" class=\"wp-image-440\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-4-1024x708.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-4-300x207.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-4-768x531.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-4-1536x1062.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-4.png 2030w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Hacemos click en <strong>OK<\/strong> y no deber\u00edamos tener errores al obtener la nueva base de datos enlazada.<\/p>\n\n\n\n<p>Podemos ejecutar una consulta de prueba desde el mismo gestor para validar que tenemos acceso.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"707\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-5-1024x707.png\" alt=\"\" class=\"wp-image-441\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-5-1024x707.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-5-300x207.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-5-768x530.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-5-1536x1061.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-5.png 2024w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>De esta manera, ya tenemos la base de datos enlazada lista para la explotaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Explotaci\u00f3n<\/h2>\n\n\n\n<p>Para la explotaci\u00f3n asumiremos el caso de compromiso de la cuenta <strong>sqluser<\/strong>, tanto de dominio como local de la base de datos.<\/p>\n\n\n\n<p>Podemos acceder a trav\u00e9s de <strong>Impacket<\/strong> para empezar la enumeraci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"482\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-6-1024x482.png\" alt=\"\" class=\"wp-image-442\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-6-1024x482.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-6-300x141.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-6-768x362.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-6-1536x724.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-6-2048x965.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Podemos utilizar la query propia de MSSQL, <strong>exec sp_linkedservers<\/strong> o una funci\u00f3n de la herramienta, <strong>enum_links<\/strong>, que al final devuelven la misma informaci\u00f3n, ahi observamos que el enlace esta establecido.<\/p>\n\n\n\n<p>Ahora, podemos utilizar consultas propias de MSSQL para ejecutar consultas en la base de datos enlazada, en este caso, utilizaremos la opci\u00f3n <strong>Execute<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"727\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-8-1024x727.png\" alt=\"\" class=\"wp-image-444\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-8-1024x727.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-8-300x213.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-8-768x545.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-8-1536x1090.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-8-2048x1454.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>De esta manera, podr\u00edamos ejecutar consultas para habilitar la ejecuci\u00f3n de comandos remota en este servidor y obtener acceso remoto.<\/p>\n\n\n\n<p>Podemos utilizar la funci\u00f3n <strong>use_link<\/strong> del cliente MSSQL de Impacket, definiendo el nombre entre comillas dobles ya que contiene puntos, los cuales el cliente interpretara como parte de una consulta SQL en lugar de un string.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-9-1024x394.png\" alt=\"\" class=\"wp-image-445\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-9-1024x394.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-9-300x115.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-9-768x295.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-9-1536x591.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-9-2048x788.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora, podemos habilitar la ejecuci\u00f3n de comandos como en posts anteriores.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"588\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-10-1024x588.png\" alt=\"\" class=\"wp-image-446\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-10-1024x588.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-10-300x172.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-10-768x441.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-10-1536x882.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-10-2048x1175.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ya podr\u00edamos realizar acciones de post explotaci\u00f3n sobre este servidor y continuar con la cadena de explotaci\u00f3n.<\/p>\n\n\n\n<p>Por esta raz\u00f3n, vale la pena enumerar bases de datos MSSQL, que este tipo de situaciones pueden ser identificadas en entornos empresariales.<\/p>\n\n\n\n<p>Ahora, exploraremos la posibilidad de desplegar un servidor SSH &#8220;portable&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuraci\u00f3n del entorno<\/h2>\n\n\n\n<p>Lo principal es asegurarse que el servicio MSSQL esta siendo ejecutado bajo un usuario de servicio a trav\u00e9s del administrador de la base de datos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"739\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-11-1024x739.png\" alt=\"\" class=\"wp-image-448\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-11-1024x739.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-11-300x216.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-11-768x554.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-11-1536x1108.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-11.png 2010w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Luego, click derecho en la opci\u00f3n SQL Server (SQLExpress), en mi caso, y acceder a las propiedades, seleccionando la opci\u00f3n Built-in account y alguna de las cuentas internas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"728\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-12-1024x728.png\" alt=\"\" class=\"wp-image-449\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-12-1024x728.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-12-300x213.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-12-768x546.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-12-1536x1092.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-12.png 2012w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Junto a la posibilidad de ejecutar comandos a trav\u00e9s de xp_cmdshell, procedemos a la explotaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Explotaci\u00f3n.<\/h2>\n\n\n\n<p>Para poder desplegar el servidor SSH sin la necesidad de instalarlo, podemos descargar el binario para Windows.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/PowerShell\/Win32-OpenSSH\/releases\/tag\/v9.5.0.0p1-Beta\">https:\/\/github.com\/PowerShell\/Win32-OpenSSH\/releases\/tag\/v9.5.0.0p1-Beta<\/a><\/p>\n\n\n\n<p>En mi caso, descargamos el fichero OpenSSH-Win64.zip, que tiene el siguiente contenido.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"621\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-13-1024x621.png\" alt=\"\" class=\"wp-image-450\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-13-1024x621.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-13-300x182.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-13-768x466.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-13-1536x931.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-13.png 1696w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Dejaremos este fichero comprimido en una ruta accesible en el servidor de base de datos, esto se podr\u00eda realizar a trav\u00e9s de descargas ejecutando comandos a trav\u00e9s de xp_cmdshell o similares, en mi caso, por temas de simplicidad, lo descargue de manera directa en el equipo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"854\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-14-1024x854.png\" alt=\"\" class=\"wp-image-451\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-14-1024x854.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-14-300x250.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-14-768x641.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-14-1536x1281.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-14.png 1726w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Adicionalmente, copie el fichero <strong>ssh_config_default<\/strong> con un nuevo nombre, que sera el que modificaremos para que use nuestros propios parametros.<\/p>\n\n\n\n<p>Revisamos el fichero de configuraci\u00f3n por defecto, donde la primera secci\u00f3n que debemos modificar son las <strong>host keys<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"731\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-15-1024x731.png\" alt=\"\" class=\"wp-image-452\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-15-1024x731.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-15-300x214.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-15-768x548.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-15-1536x1096.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-15.png 1984w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Cuando el servicio se instala de manera regular, las <strong>host keys<\/strong> se almacenan en rutas predefinidas y el binario obtiene los parametros por defecto si no se especifica un fichero de configuraci\u00f3n distinto, sin embargo, como queremos desplegar un servidor SSH sin realizar la instalaci\u00f3n, necesitamos crear nuestras propias <strong>host keys<\/strong>.<\/p>\n\n\n\n<p>Para hacer esto, podemos utilizar el binario <strong>ssh-keygen.exe<\/strong>, utilizando los siguientes comandos:<\/p>\n\n\n\n<p>ssh-keygen -q -N &#8220;&#8221; -t dsa -f C:\\Users\\Public\\Music\\openssh\\keys\\ssh_host_dsa_key<\/p>\n\n\n\n<p>ssh-keygen -q -N &#8220;&#8221; -t rsa -f C:\\Users\\Public\\Music\\openssh\\keys\\ssh_host_rsa_key<\/p>\n\n\n\n<p>ssh-keygen -q -N &#8220;&#8221; -t ecdsa -f C:\\Users\\Public\\Music\\openssh\\keys\\ssh_host_ecdsa_key<\/p>\n\n\n\n<p>ssh-keygen -q -N &#8220;&#8221; -t ed25519 -f C:\\Users\\Public\\Music\\openssh\\keys\\ssh_host_ed25519_key<\/p>\n\n\n\n<p>Ahora, por temas de permisos, es importante considerar que tenemos que utilizar la cuenta que levantara el servicio para crear estos ficheros, caso contrario, la cuenta de servicio no tendra privilegios para leer estos ficheros y el servidor no funcionara.<\/p>\n\n\n\n<p>Esto lo podemos hacer a trav\u00e9s de la ejecuci\u00f3n de comandos por MSSQL y xp_cmdshell.<\/p>\n\n\n\n<p>Primeramente confirmamos que se esta utilizando una cuenta de servicio para la base de datos, al ejecutar xp_cmdshell, se utilizara el contexto del usuario configurado, en este caso, un usuario de servicio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"639\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-16-1024x639.png\" alt=\"\" class=\"wp-image-453\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-16-1024x639.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-16-300x187.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-16-768x479.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-16.png 1442w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora, generamos las host keys una por una en la ruta especificada a trav\u00e9s de esta ejecuci\u00f3n de comandos, garantizando que el usuario de servicio tenga acceso a estos ficheros.<\/p>\n\n\n\n<p>Ejecutando el comando, listamos los contenidos del directorio confirmando que las llaves se crearon.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"564\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-17-1024x564.png\" alt=\"\" class=\"wp-image-454\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-17-1024x564.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-17-300x165.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-17-768x423.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-17-1536x847.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-17-2048x1129.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Creamos el resto de host keys.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"243\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-18-1024x243.png\" alt=\"\" class=\"wp-image-455\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-18-1024x243.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-18-300x71.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-18-768x182.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-18-1536x365.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-18-2048x486.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Listamos el directorio, confirmando la creaci\u00f3n de todos los ficheros.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"956\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-19-1024x956.png\" alt=\"\" class=\"wp-image-456\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-19-1024x956.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-19-300x280.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-19-768x717.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-19.png 1480w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Una vez creadas las host keys, modificamos el fichero de configuraci\u00f3n que utilizaremos para levantar el servidor, especificando las rutas absolutas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"970\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-20-1024x970.png\" alt=\"\" class=\"wp-image-457\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-20-1024x970.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-20-300x284.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-20-768x728.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-20.png 1452w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Otras opciones que podemos modificar en el fichero de configuraci\u00f3n son las siguientes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1020\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-21-1024x1020.png\" alt=\"\" class=\"wp-image-458\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-21-1024x1020.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-21-300x300.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-21-150x150.png 150w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-21-768x765.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-21.png 1370w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Otra opci\u00f3n importante que debemos modificar es la ruta del fichero .pid, en este caso, especificaremos una ruta de acceso libre para cualquier usuario.<\/p>\n\n\n\n<p>Adicionalmente, es importante comentar las ultimas dos lineas del fichero de configuraci\u00f3n, para que la autenticaci\u00f3n funcione.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"922\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-22-1024x922.png\" alt=\"\" class=\"wp-image-459\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-22-1024x922.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-22-300x270.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-22-768x692.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-22.png 1466w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora, podemos ejecutar el servidor ssh desde la sesi\u00f3n de comandos de la base de datos.<\/p>\n\n\n\n<p>Primeramente, listamos los puertos en escucha, observando que no se tiene alg\u00fan servicio en el puerto 2222, que es el que usaremos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"873\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-23-1024x873.png\" alt=\"\" class=\"wp-image-460\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-23-1024x873.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-23-300x256.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-23-768x655.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-23-1536x1309.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-23.png 1640w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Adicionalmente, buscamos las aplicaciones instaladas, confirmando que OpenSSH no se encuentra instalado.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"809\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-24-1024x809.png\" alt=\"\" class=\"wp-image-461\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-24-1024x809.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-24-300x237.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-24-768x607.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-24-1536x1214.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-24.png 1706w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora, ejecutamos el servidor desde la terminal de comandos, utilizando el par\u00e1metro <strong>-f<\/strong> que nos permite definir el fichero de configuraci\u00f3n y el par\u00e1metro <strong>-p<\/strong> para definir el puerto, en mi caso, 2222.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"268\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-26-1024x268.png\" alt=\"\" class=\"wp-image-463\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-26-1024x268.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-26-300x78.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-26-768x201.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-26-1536x402.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-26-2048x536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>No recibimos una respuesta, porque el binario esta en ejecuci\u00f3n, esto lo podemos confirmar desde el mismo servidor.<\/p>\n\n\n\n<p>Observamos que tenemos un nuevo puerto a la escucha.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"825\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-27-1024x825.png\" alt=\"\" class=\"wp-image-464\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-27-1024x825.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-27-300x242.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-27-768x619.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-27-1536x1238.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-27.png 1648w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ademas, con el PID, obtenemos los detalles del proceso, confirmando que es un servidor SSH.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"674\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-28-1024x674.png\" alt=\"\" class=\"wp-image-465\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-28-1024x674.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-28-300x198.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-28-768x506.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-28-1536x1012.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-28.png 1998w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Si probamos el acceso, confirmamos que el servidor se encuentra funcional utilizando una cuenta de administrador local.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"249\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-29-1024x249.png\" alt=\"\" class=\"wp-image-466\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-29-1024x249.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-29-300x73.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-29-768x187.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-29.png 1094w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"843\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-30-1024x843.png\" alt=\"\" class=\"wp-image-467\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-30-1024x843.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-30-300x247.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-30-768x632.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-30.png 1268w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>De la misma manera, podemos desplegar un t\u00fanel SSH din\u00e1mico, para temas de pivoting.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"692\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-31-1024x692.png\" alt=\"\" class=\"wp-image-468\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-31-1024x692.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-31-300x203.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-31-768x519.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-31.png 1424w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ahora, podr\u00edamos utilizar este t\u00fanel para llegar a segmentos previamente inaccesibles, por ejemplo, el servidor <strong>dbjsec<\/strong> del dominio principal, con la direcci\u00f3n IP 192.168.30.150.<\/p>\n\n\n\n<p>Validamos que desde nuestra Kali no tenemos acceso directo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"382\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-32-1024x382.png\" alt=\"\" class=\"wp-image-469\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-32-1024x382.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-32-300x112.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-32-768x286.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-32-1536x573.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-32-2048x764.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pero si tenemos llegada desde el servidor <strong>dbint<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"628\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-33-1024x628.png\" alt=\"\" class=\"wp-image-470\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-33-1024x628.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-33-300x184.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-33-768x471.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-33-1536x942.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-33.png 1620w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>As\u00ed que utilizaremos proxychains para utilizar el t\u00fanel SSH creado anteriormente.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"359\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-34-1024x359.png\" alt=\"\" class=\"wp-image-471\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-34-1024x359.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-34-300x105.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-34-768x269.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-34-1536x538.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-34-2048x717.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>De esta manera, tenemos la posibilidad de desplegar un servidor SSH para acceso remoto, persistencia, pivoting u otras tareas de movimiento lateral.<\/p>\n\n\n\n<p>Por el momento, el acceso remoto funciona \u00fanicamente utilizando una cuenta de administrador local, una cuenta de bajos privilegios no tiene la posibilidad de desplegar un t\u00fanel o levantar una shell interactiva, ando investigando como podr\u00eda realizar esas acciones.<\/p>\n\n\n\n<p>Utilizando una cuenta de dominio de bajos privilegios, no se establece la sesi\u00f3n de manera correcta.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"364\" src=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-35-1024x364.png\" alt=\"\" class=\"wp-image-472\" srcset=\"https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-35-1024x364.png 1024w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-35-300x107.png 300w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-35-768x273.png 768w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-35-1536x546.png 1536w, https:\/\/jsec-rt.com\/wp-content\/uploads\/2024\/05\/image-35-2048x727.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Si bien es una t\u00e9cnica poco convencional y requiere de varias condiciones para funcionar, existen escenarios donde podr\u00eda ser utilizada para pivoting sin mucha preocupaci\u00f3n de que un antivirus o EDR bloquee la ejecuci\u00f3n de binarios conocidos para esta tarea (chisel, ligolo-ng, Invoke-SocksProxy).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Continuando con las entradas relacionadas a explotaci\u00f3n sobre MSSQL, ahora exploraremos como explotar bases de datos enlazadas y la posibilidad de desplegar un servidor SSH &#8220;portable&#8221; a trav\u00e9s de una base de datos MSSQL con la funci\u00f3n &#8220;xp_cmdshell&#8221; habilitada y que utilice a un usuario de servicio. Configuraci\u00f3n de bases <a href=\"https:\/\/jsec-rt.com\/index.php\/2024\/05\/02\/rt-movimiento-lateral-a-traves-de-mssql-parte-2\/\" class=\"btn-link\">Continue Reading<i class=\"ion-ios-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[34],"class_list":["post-432","post","type-post","status-publish","format-standard","hentry","category-p-rt","tag-rt-es"],"_links":{"self":[{"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/posts\/432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/comments?post=432"}],"version-history":[{"count":5,"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/posts\/432\/revisions"}],"predecessor-version":[{"id":481,"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/posts\/432\/revisions\/481"}],"wp:attachment":[{"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/media?parent=432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/categories?post=432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jsec-rt.com\/index.php\/wp-json\/wp\/v2\/tags?post=432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}