Skip to main content
HackTheBox machines – Gofer WriteUp

HackTheBox machines – Gofer WriteUp

Gofer es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox basada en Linux

Gofer 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 Linux.

 

Escaneo de puertos

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

 

Una vez detectados los puertos abiertos lanzamos un escaneo más detallado sobre los mismos

 

Enumeración

Revisando los puertos abiertos, vamos en primer lugar a revisar el portal web en el puerto 80, donde vemos la siguiente página

HackTheBox machines – Gofer WriteUp

 

No vemos nada interesante por ahora así que continuamos la enumeración y vamos ahora al servicio de smb, listamos en primer lugar a ver que encontramos

 

Revisamos el share shares y encontramos un fichero llamado mail, así que lo descargamos

 

Y su contenido es el siguiente

 

En el mismo nos indica que el usuario Jocelyn ha picado en otro correo de phishing, ya que hace click sin mirar mucho en donde lo hace, y por lo tanto se ha cerrado el envío de documentos a la red interna.

También indica que se debe utilizar el formato odt de libreoffice en lugar de word.

Además en la postdata indica al usuario Tom que restrinja el acceso a la web del proxy para que sea más seguro mientras termina su desarrollo.

 

Visto esto, vamos a enumerar subdominios a ver si encontramos el famoso proxy

 

Y descubrimos el subdominio

Así que lo añadimos al fichero hosts y accedemos

HackTheBox machines – Gofer WriteUp

Aunque como solicitaba en el correo, el acceso es restringido, por lo que vamos a tener que ingeniarnoslas por otro lado.

Haremos una prueba a ver como se comporta, ya que siendo un proxy, lo lógico sería que tuviese un parámetro url al cual se le enviase la url a la cual navega el usuario, así que levantamos una escucha con python y lanzamos un curl para verificar

 

Revisamos nuestra escucha y vemos que ha funcionado

 

Visto el funcionamiento, podemos deducir que sería vulnerable a SSRF, así que buscamos en google y encontramos una forma de explotarlo con la herramienta gopher.

Así que vamos a generar un fichero odt malicioso al cual incluiremos la siguiente macro en vbs para obtener una revshell

Además tendremos que añadir ciertos eventos para que se ejecute al abrir el fichero, para ello en libreoffice acceder a

tools -> customize -> events

Y añadir los siguientes eventos a nuestra macro

  •  document loaded finished
  • open document

Quedando como se ve en la siguiente captura

HackTheBox machines – Gofer WriteUp

 

Hecho esto, levantamos una escucha en python y lanaremos el siguiente payload con gopher en el parámetro de la url

Que decodificado sería el siguiente

 

Una vez enviado revisamos en nuestro server que lo ha descargado

Y si esperamos unos segundos tendremos una shell con el usuario jhudson

 

Obteniendo la flag de user

Estando ya dentro vamos a por la primera flag

 

Escalado de al usuario tbuckley

Procediendo con la enumeración de la máquina, revisamos ficheros con permisos de suid

Y vemos uno interesante

Aunque no tenemos permisos para poder ejecutar el mismo así que seguimos revisando.

Enumeramos procesos y cada pocos minutos se ejecuta uno en el cual aparece la password del usuario tbuckley

Revisión de procesos

 

Así que cogemos la misma y escalamos a dicho usuario.

 

Escalando a root

El usuario tbuckley si que puede leer el fichero notes que vimos antes así que revisamos de que se trata

Y hacemos una simple ejecución a ver que ocurre

 

Podemos crear un usuario, notas pero poco más ya que carecemos de permisos así que nos descargamos el mismo para analizarlo en detenimiento y obtenemos el código completo que sería el siguiente

 

Revisando el código vemos que es posible provocar un desbordamiento de la pila al añadir una nota, y que está admitiría un máximo de 24 caracteres, así que vamos a ponerlo en práctica.

Los pasos serían los siguientes:

En primer lugar creamos un usuario

 

Revisamos que se ha creado correctamente

 

El siguiente paso será borrar el mismo

 

Ahora añadimos la nota y metemos por ejemplo 24 a y después el rol que queremos obtener

 

Y si revisamos ahora el usario vemos que tiene el rol de admin

 

Ejecutamos el backup y ha cascado

 

Pero está claro que hemos descubierto el fallo en la aplicación, así que vamos a ver como saltar esta parte.

Si revisamos el comando tar, vemos que no utiliza una ruta absoluta

Así que vamos a generar un fichero tar malicioso que añada el byte de suid al binario de bash

Añadimos la ruta del fichero tar a la variable PATH

 

Y repetimos los pasos previos

 

Y para verificar revisamos el binario de bash

Ha funcionado así que ya podemos escalar a root.

 

Obteniendo la flag de root

Escalamos a root y cogemos nuestra 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 *