Skip to main content
HackTheBox machines – Scrambled WriteUp

HackTheBox machines – Scrambled WriteUp

Scrambled es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox basada en Windows

Scrambled 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 Scrambled 10.10.11.168 a /etc/hosts como scrambled.htb y comenzamos con el escaneo de puertos nmap.

Vemos varias posibilidades en este primer escaneo así que vamos a enumerar todas las posibles opciones.

 

Enumeración

Comenzamos revisando el portal web en el puerto 80, accedemos a través del navegador y vemos la siguiente página web

Accediendo al portal web de scrambled

 

Revisamos el mismo y encontramos una página donde indican que han desactivado la autenticación por NTLM debido a una brecha de seguridad

Mensaje de brecha de seguridad en scrambled

 

Continuamos revisando el portal web y vemos una página donde hay información de un ejecutable que realiza la depuración de un servicio por medio del puerto 4411

Puerto de depuración en scrambled

 

Hacemos la prueba de conexión a dicho puerto y tenemos acceso

Otra cosa importante que encontramos en la página de reseteo de password, es que dicho servicio está caído por lo que hay que contactar con IT para restablecer la misma utilizando el nombre de usuario como password, lo que nos da una pista del tipo de ataque a realizar sobre kerberos.

 

Enumeración sobre kerberos

Visto el portal web vamos a utilizar kerbrute para realizar una enumeración de usuarios de kerberos utilizando el siguiente diccionario

 

Hemos descubierto 5 usuarios válidos, ahora vamos a tratar de conseguir la password, y para ello vamos a utilizar el nombre de usuario como password, tal y como vimos en el portal

 

Y conseguimos un usuario válido

 

Obteniendo las credenciales del usuario sqlsvc

Ya tenemos un usuario, así que vamos a obtener el ticket de kerberos para poder continuar, utilizaremos para ello la herramienta getTGT de impacket

Exportamos la variable con el fichero ccache generado

Y ahora procederemos a enumerar otros servicios.

Accedemos con la tool smbclient de impacket y descubrimos un fichero pdf muy interesante

En el anterior fichero nos indica que el vector de acceso fue por un usuario de base de datos así que es posible que la misma tenga privilegios importantes.

Enumeraremos usuarios con GetUserSPNs

Y tenemos el hash del usuario sqlsvc, así que vamos a utilizar john para obtener la contraseña en plano

Y tenemos un usuario y contraseña

 

Accediendo a MSSQL

El siguiente paso será acceder con el usuario sqlsvc al servicio de MSSQL existente en la máquina y para ello vamos a necesitar previamente obtener dos cosas

  1. El SID de la máquina
  2. Convertir la password del usuario en NTLM

 

Conseguiremos el SID en primer lugar con la tool secretsdump

 

Y convertiremos la password en NTLM con la herramienta online de codebeautify

Conversión de claves a NTLM

 

Ahora que ya tenemos los datos necesarios, generamos un ticket del usuario Administrator

 

Exportamos el fichero ccache

Y conectamos a la ddbb utilizando dicho ticket

 

Explotando MSSQL

Ahora que ya estamos dentro del MSSQL, vamos a enumerar los esquemas existentes

Obtendremos las tablas del esquema ScrambleHR

Y obtenemos el contenido de la tabla UserImport

En la cual encontramos las credenciales del usuario MiscSvc

Visto el contenido del fichero pdf, utilizaremos xp_cmdshell para intentar ejecutar comandos en la maquina

Así que vamos a descargarnos netcat para obtener una shell en condiciones

 

Y conseguimos acceso en nuestra escucha

 

Escalando al usuario MiscSvc

Vamos a utilizar las credenciales vistas anteriormente para escalar al usuario MiscSvc, generaremos en primer lugar las variables y posteriormente las invocaremos para ejecutar comandos como dicho usuario

Así que utilizamos netcat de nuevo para obtener otra revshell

Y estamos dentro con el usuario miscsvc

 

Obteniendo la flag de user

Una vez dentro con el usuario, nos vamos a su escritorio para obtener la primera flag

 

Escalado de privilegios

Buscaremos a continuación la aplicación que se menciona en la página web y encontramos un fichero .exe y un fichero .dll

Para descargarnos los mismos tenemos dos opciones, copiarlos a la carpeta Public en C:\Shares\Public y descargarlos por smb como hicimos con el fichero pdf o utilizar la tool powercat

Utilizamos la herramienta en nuestro caso de la siguiente forma

Ahora para analizar los ficheros utilizaremos la herramienta dnspy y encontramos una vulnerabilidad de deserialización en la función UploadOrder

Vulnerabilidad de serialización

 

Así que vamos a generar nuestro payload, y para ello utilizaremos la herramienta ysoserial

Y lanzaremos nuestro payload a través del puerto 4411 que vimos al principio

Y obtendremos en nuestra escucha acceso como system

 

Obteniendo la flag de root

Y como último paso nos queda ir a leer la 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 *