Skip to main content
HackTheBox machines – Flight WriteUp

HackTheBox machines – Flight WriteUp

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

Flight es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad Difícil.

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 Flight 10.10.11.187 a /etc/hosts como flight.htb y comenzamos con el escaneo de puertos nmap.

En primer lugar hacemos el escaneo de puertos y en este caso hay unos cuantos abiertos, así que vamos a proceder a revisar los mismos en detalle.

 

Enumeración

Revisamos el portal web existente en el puerto 80 y vemos la siguiente página web

HackTheBox machines – Flight WriteUp

 

No vemos nada relevante en esta página así que enumeramos subdominios con gobuster

Y descubrimos un dominio nuevo que añadiremos a nuestro fichero de hosts

Una vez añadido procedemos a acceder al mismo a través del navegador

HackTheBox machines – Flight WriteUp

 

Revisando la misma encontramos un parámetro a través del cual carga las diferentes páginas

Pero probamos a hacer un LFI y nos bloquea al detectar un intento de ataque

Intento fallido de LFI

 

No conseguimos nada por aqui así que vamos a probar a realizar un RFI, para ello montaremos un servidor smb en nuestro kali, a través del cual intentaremos que un usuario se autentique y nos facilite su hash NTLM.

Así que levantamos el servidor smb con impacket

Lanzaremos un curl donde añadamos la dirección de nuestro servidor smb en el parámetro view

Y obtendremos el hash del usuario svc_apache en el mismo

Disponiendo del hash, lo metemos en un fichero y usaremos john para tratar de romperlo

Y ya tenemos las primeras credenciales.

 

Obtendiendo credenciales del usuario S.Moon

Con las credenciales del usuario svc_apache vamos a verificar si las mismas son correctas con crackmapexec

Son válidas así que vamos a tratar de enumerar usuarios con las mismas

Tenemos un listado de posibles usuarios, así que vamos a comprobar si la password es válida para alguno de ellos

Tenemos otro usuario válido, S.Moon.

 

Obtendiendo credenciales del usuario C.Bum

Vamos a revisar las unidades compartidas a las que tiene acceso este usuario

Y vemos que tiene permisos de escritura sobre el directorio Shared, por lo que vamos a tirar por ahí.

Vamos a utilizar la misma técnica del servidor smb, pero en este caso, vamos a crear un fichero desktop.ini en la unidad compartida y crearemos un icono en el escritorio que apunte a nuestro servidor con la idea de que algún usuario haga click en el mismo y obtengamos su hash ntlm en el proceso de autenticación.

Así que generamos el fichero

Lo subimos a la unidad compartida

Y esperamos unos segundos para obtener el hash del usuario c.bum

Volvemos a pasar por john para romperlas

Y verificamos de nuevo con crackmapexec la validez de las mismas

Vale, ya tenemos las credenciales del usuario c.bum.

 

Obteniendo acceso al servidor

Con estas nuevas credenciales revisamos de nuevo las unidades compartidas a las cuales tenemos acceso

Y tenemos permisos de escritura sobre la unidad Web así que vamos a ver que hay en la misma.

Se trata del código de las aplicaciones web que vimos así que vamos a subir una webshell que nos ayude a obtener acceso a la máquina

 

Ahora accedemos a la misma desde el navegador y ejecutaremos los siguientes comandos.

Crearemos un directorio donde subir los ficheros

Subiremos netcat

Y lo ejecutaremos

Consiguiendo acceso en nuestra escucha con el usuario svc_apache

 

Escalado al usuario C.Bum

Ahora que ya estamos dentro y disponemos además de las credeciales del usuario, vamos a utilizar RunasCs para escalar al usuario C.Bum

Descargamos la herramienta y la subimos a la máquina y posteriormente la ejecutamos

Y tendremos acceso en nuestra escucha con este usuario

 

Obteniendo la flag de user

Ahora vamos al escritorio del usuario y cogemos la primera flag

 

Escalado de privilegios

A continuación enumeramos la máquina y, después de varias vueltas sobre la misma, encontramos un puerto en el cual está corriendo un IIS

Se trata del puerto 8000, pero no tenemos acceso al mismo, así que vamos a utilizar chisel para ello.

Crearemos entonces el servidor en nuestra máquina

Lanzamos el cliente en la máquina windows

Y tendremos la escucha en nuestro servidor

El siguiente paso será acceder al navegador y ver el portal existente en dicho puerto

Accediendo al IIS

 

Desconocemos donde está almacenando estos datos así que forzamos un error en la aplicación que nos permita descubrirlo

Forzando errores en el IIS

 

Y tenemos la ruta, así que vamos a revisar el contenido de la misma

 

Es un IIS, por lo que podemos subir una webshell en aspx para conseguir elevar privilegios, así que subimos la misma

Y accedemos al navegador para ejecutar netcat

Ejecutando una shell en aspx

Ejecutamos y obtendremos acceso con el usuario del servicio del IIS en nuestra escucha

 

Escalado a system

Ahora que estamos dentro revisamos los permisos de los que dispone el usuario

Y este tiene habilitado el privilegio de SeImpersonatePrivilege por lo que vamos a utilizarlo para escalar privilegios.

En nuestro caso vamos a utilizar JuicyPotatoNG para llevar a cabo esta acción, así que lo descargamos en la máquina

Y lo ejecutamos para convertirnos en system

 

Obteniendo la flag de root

Estando ya como system, nos vamos al escritorio del usuario Administrator y cogemos la flag

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 *