Skip to main content
HackTheBox machines – Worker WriteUp

HackTheBox machines – Worker WriteUp

Worker es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox basada en windows

Worker es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad media.

En este caso se trata de una máquina basada en el Sistema Operativo Windows.

 

Escaneo de puertos

Como de costumbre, agregamos la IP de la máquina Worker 10.10.10.203 a /etc/hosts como worker.htb y comenzamos con el escaneo de puertos nmap.

Encontramos en este primer escaneo dos puntos interesantes, un posible portal web en el puerto 80 y el acceso a SubVersion en el puerto 3690 así que vamos a comenzar enumerando estos servicios.

 

Enumeración

Comenzaremos visualizando el portal web en el puerto 80, donde encontramos la siguiente pantalla:

IIS in worker machine

 

Revisamos la misma y no encontramos nada más que la página por defecto de IIS así que vamos a pasar al svn a ver si encontramos más información.

Comprobamos la información básica del mismo:

Y un listado de los ficheros existentes en el repositorio donde encontramos un subdominio y un fichero de texto:

Así que procedemos a la descarga de los ficheros y directorios encontrados:

Revisamos el subdominio y los ficheros existentes pero no vemos nada importante en los mismos.

Revisamos el fichero de texto, el cual dice lo siguiente:

Parece que hay una dirección nuevo que no conocíamos así que la añadimos al fichero /etc/hosts y accedemos a través del navegador, pero nos solicita unas credenciales que no tenemos.

 

Así que vamos a seguir buscando en el repositorio de svn a ver si podemos obtener más información.

Revisamos las versiones anteriores y encontramos un fichero ps1 en una de ellas:

Y cuyo contenido es el siguiente:

Vemos en el mismo unas credenciales que posiblemente nos permitan acceder al portal visto anteriormente así que probamos las mismas y estamos dentro:

 

El portal pertenece a la aplicación azure devops, una app utilizada para la gestión de proyectos, ejecución de pipelines, etc…

Revisamos la misma y conseguimos una forma de poder continuar, para ello necesitaremos crear un nuevo work item en la ruta>

ekenas -> smarthotel360 -> boards -> work items

Y posteriormente crear un nuevo branch en la ruta>

ekenas -> SmartHotel360 -> Repos -> Branches -> New Branch

 

Ahora lo que haremos será subir una shell inversa en aspx con el fin de poder obtener acceso al servidor, en nuestro caso hemos utilizado la publicada en github en el repositorio de borjmz.

Y subiremos la misma a nuestro branch:

 

Una vez lo tengamos subido necesitaremos hacer un pull para añadir nuestro fichero a la rama master, ya que no disponemos de permisos para escribir directamente sobre la misma:

 

A continuación, aprobaremos y completaremos el pull para añadir nuestro fichero al repositorio en su rama master:

 

Y posteriormente accederemos a nuestro fichero a través de curl o del navegador y conseguiremos acceso en nuestra escucha en netcat en el puerto indicado:

Ya estamos dentro, pero vamos a necesitar algo más para conseguir nuestra primera flag.

Revisaremos los discos existentes:

y ya que observamos un disco aparte del raíz, revisaremos el contenido de la misma:

Y encontramos un fichero passwd que parece ser interesante por lo que comprobamos su contenido:

Y obtenemos un listado de usuarios y contraseñas. En una primera enumeración, observamos que el usuario robisl existe en la máquina, por lo que vamos a utilizar evil-winrm para acceder con sus credenciales al sistema:

Y ya estamos dentro.

 

Obteniendo la flag de user

Ahora que estamos dentro, accedemos al escritorio del usuario robisl y conseguimos nuestra flag de user:

Y comenzaremos a enumerar de nuevo con el objetivo de conseguir permisos como administrador.

 

Escalado de privilegios

Ahora que ya estamos dentro del sistema, enumeramos el mismo en busca de alguna opción que nos ayude en la posibilidad de escalar privilegios a administrador pero no conseguimos ver nada importante que nos ayude a lograr este objetivo. Debido a esto, y ya que disponemos de las claves de un usuario, vamos a acceder al portal de devops visto anteriormente con estas nuevas credenciales y lo conseguimos.

Además, tenemos acceso a una nueva sección a la cual no teníamos anteriormente, la sección de pipelines, donde podremos lanzar los nuestros con el fin de obtener más información del sistema:

 

Con el fin de comprobar si realmente funciona, lanzamos un primer pipeline con el siguiente código:

Y efectivamente, observamos que el usuario con el que se está ejecutando es nt authority\system por lo que ya sabemos como continuar:

Run command on Worker

 

Ahora vemos dos posibilidades de conseguir la flag, la primera y más fácil es obtener la flag directamente desde un pipeline con el siguiente código:

En nuestro caso, vamos a lanzar una reverse shell para obtener acceso como system, así que utilizaremos powercat para levantar la shell y ejecutaremos el siguiente payload en nuestro pipeline:

Y conseguiremos acceso al servidor como system en nuestra escucha:

 

Obteniendo la flag de root

Ahora que somos system, sólo nos queda obtener nuestra flag del escritorio del usuario administrator:

 

Y ya tenemos nuestra flag de root para completar esta máquina y conseguir nuestros puntos.

 

Si eres usuario de HackTheBox y te gustó mi writeup, por favor, dame respeto en el siguiente enlace

 

Deja una respuesta

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