Skip to main content
HackTheBox machines - Dyplesher WriteUp

HackTheBox machines – Dyplesher WriteUp

Dyplesher es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox.

Dyplesher es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad Insane.

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 Dyplesher 10.10.10.190 a /etc/hosts como dyplesher.htb y comenzamos con el escaneo de puertos nmap.

Una vez realizado el primer escaneo comenzamos la enumeración.

 

Enumeración

Empezaremos revisando el puerto 80, y al acceder a través del navegador obtenemos el siguiente portal:

Dyplesher - minecraft server

Accedemos a un portal simple donde observamos que indica otra dirección, test.dyplesher.htb, así que añadimos la misma al fichero /etc/hosts y procedemos a revisarla:

HackTheBox machines - Dyplesher WriteUp

Revisamos el código fuente de las páginas encontradas pero no vemos nada interesante así que procedemos a enumerar en busca de directorios con gobuster en ambas.

Encontramos lo siguiente en dyplesher.htb:

Vemos varias cosas interesantes, pero las veremos más adelante, realizamos las mismas enumeraciones en test.dyplesher.htb y encontramos lo siguiente:

Encontramos un directorio .git, lo que nos indica que existe un repositorio en el portal, así que utilizaremos git-dumper para extraer el contenido del mismo:

Revisamos el log del mismo, observando que sólo se ha hecho el commit inicial:

Comprobamos el fichero index.php cuyo código es el siguiente:

Y encontramos en el mismo unas credenciales de conexión a memcache, que ya vimos anteriormente que teníamos abierto el puerto 11211:

Para la conexión, no valdrá con un simple telnet como en otras ocasiones, en este caso necesitaremos una cli para conectarnos al servicio. Utilizaremos en nuestro caso, memcache-cli para acceder con las credenciales obtenidas:

Y encontramos 3 nombres de usuarios y 3 posibles hashes, que posiblemente pertenezca a alguno de los usuarios, así que utilizaremos john para intentar descifrar las mismas.

Después de un rato conseguimos descifrar sólo uno de los hashes obtenidos:

Probamos en la pantalla de login que vimos anteriormente en la enumeración con gobuster pero parece que no son las correctas, así que seguimos investigando y descubrimos otra página web en el puerto 3000:

repositorio git

Y encontramos una web con Gogs, un servicio de alojamiento de repositorios git en el que observamos que existen los mismos usuarios que vimos anteriormente con memcache.

HackTheBox machines - Dyplesher WriteUp

Probaremos el acceso en la pantalla de login y conseguimos acceder con las siguientes credenciales:

Comprobamos todo lo existente en la cuenta del usuario y descubrimos dos repositorios privados existentes en la misma:

Consiguiendo los repos de felamos

Así que con las mismas credenciales nos clonamos los mismos:

En dichos repositorios no encontramos nada interesante así que volvemos al portal de gogs y encontramos una release en el repositorio de gitlab y un fichero repo.zip que descargamos y cuyo contenido es el siguiente:

Además de esto encontramos varios repositorios más dentro de dichos directorios:

Así que copiaremos los ficheros .bundle en un nuevo directorio y procederemos a clonar los 4 repositorios:

Y en este caso si que encontramos varios ficheros interesantes:

Entre todos los ficheros encontrados, destacamos uno de ellos, el fichero users.db, que se trata de una base de datos sqlite:

Así que importaremos la misma en nuestro sqlite3 para ver su contenido:

Y encontramos otras credenciales, cifradas también, pero nada que no podamos hacer con John:

Y bingo, otra password, y ahora sí, ahora volvamos a la pantalla de login de la primera web que vimos.

Como necesitamos acceder con un email, probaremos con los diferentes usuarios encontrados seguidos del dominio del portal y logramos acceder al mismo con el usuario felamos, observando el siguiente dashboard:

HackTheBox machines - Dyplesher WriteUp

 

Parece que vamos avanzando, pero aún nos queda mucho camino por delante.

En este caso, después de revisar las opciones del portal, la única posibilidad factible es la creación de un plugin de java, que pueda ser leído por PlugMan, ya que es el software de gestión de plugins que utiliza el portal.

Después de revisar en google, encontramos un portal donde explica como hacer dichos plugins, en nuestro caso, con el IDE Intellij Idea.

https://www.spigotmc.org/wiki/creating-a-plugin-with-maven-using-intellij-idea/

 

Realizamos varias comprobaciones para descubrir las rutas existentes en la máquina y creamos nuestro plugin para introducir una clave ssh generada previamente en el fichero authorized_keys del usuario MinatoTW.

Así que subimos nuestro plugin al portal:

Cargando nuestro plugin en el servidor

 

Cargamos el mismo desde la sección correspondiente:

Activando el plugin

 

Y accedemos a la sección de Console para ver si se ha cargado correctamente:

Observando el log del plugin

 

Y vemos como claramente, se ha cargado nuestro plugin “byteshell” y ha añadido nuestra clave ssh en el fichero authorized_keys del usuario, así que utilizaremos la misma para acceder por ssh al servidor.

Parece que todavía no podemos conseguir la flag de user así que nos toca seguir investigando.

Revisando los grupos del usuario, este pertenece al grupo wireshark, así que es un posibilidad la capacidad de captura el tráfico en la máquina.

Observamos las interfaces existentes:

Y lanzamos la utilidad tshark para capturar el tráfico:

Para no darlo todo hecho, no pongo la interfaz exacta, os dejo adivinar cual será la correcta.

Dejamos la herramienta capturando tráfico durante unos 15 minutos y analizamos el fichero pcap resultante, donde encontramos las password para los usuarios ya vistos anteriormente:

 

Obteniendo la flag de user

Con las claves descubiertas, accedemos con el usuario felamos:

Y conseguimos la flag de user.

 

Escalado de privilegios

Esta máquina está siendo dura, pero ya tenemos más de la mitad hecha, ya sólo nos queda el final de la misma, así que vamos a ello.

Revisamos la home del usuario felamos y encontramos un fichero interesante:

En este caso nos indica que debemos publicar una serie de plugins a través de las colas, lo que nos da varias pistas para poder continuar.

Revisamos el servicio de queues existente y se trata de rabbitmq:

Y también observamos en los procesos que existe el lenguaje de scripting lua instalado en la máquina:

Así que utilizaremos estos servicios para poder continuar el escalado.

Para nuestro caso utilizaremos un plugin de python llamado pika. Pika es un Advanced Message Queuing Protocol (AMQP) que utiliza el protocolo rpc, y mediante el cual un cliente puede enviar solicitudes al sevidor y viceversa. Además implemente bucles io en cada uno de sus adaptadores de conexión asíncrona.

Así que revisaremos la documentación para realizar la conexión con pika y generaremos nuestro exploit.

https://pika.readthedocs.io/en/stable/modules/parameters.html

Además de esto, generaremos un script en lua, a través del cual añadiremos nuestra clave ssh en el fichero authorized_keys de root y cuyo código es el siguiente:

En el caso del exploit de python, no voy a incluir el mismo en el blog, pero si tienen alguna duda de como hacerlo, al final de este post tienen mi perfil y les resolveré cualquier duda que les surja.

Subiremos el script en lua a la máquina y levantaremos un servidor en python que utilizaremos para ejecutar el script como root al cargar el mensaje en la cola.

Ejecutaremos nuestro script en python:

Y a los pocos segundos observamos como se descarga nuestro script en la máquina:

Por lo que hemos conseguido que se añada nuestra clave ssh a root.

 

Obteniendo la flag de root

Con la clave ssh añadia, sólo nos queda loguearnos por ssh como root:

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 https://www.hackthebox.eu/home/users/profile/103792

 

2 thoughts on “HackTheBox machines – Dyplesher WriteUp

    1. Hi Elisa,

      The script in python is easy to do, try to do it yourself.
      The pem key will not do you any good because you need to add it to the machine previously.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.