Skip to main content
HackTheBox machines – Redpanda WriteUp

HackTheBox machines – Redpanda WriteUp

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

Redpanda es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad Fá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 Redpanda 10.10.11.170 a /etc/hosts como redpanda.htb y comenzamos con el escaneo de puertos nmap.

No hay muchos puertos abiertos en este caso, así que vamos directamente al portal web en el puerto 8080.

 

Enumeración

Accedemos al portal web en el puerto 8080, suponemos que será un tomcat o similar, y vemos la siguiente página

HackTheBox machines – Redpanda WriteUp

 

Tan sólo vemos un simple campo de texto de búsqueda, así que probamos varias cosas y descubrimos que el mismo es vulnerable a SSTI. Inyectamos el payload ${4*4} para verificar la vulnerabilidad

Redpanda vulnerable a SSTI

 

Y nos devuelve el valor 16, demostrando que es vulnerable a SSTI así que hacemos alguna prueba más obteniendo las variables de entorno que utiliza la aplicación con el siguiente payload

Y observamos como nos devuelve las variables

Obteniendo las variables de entorno de Redpanda

 

Hacemos alguna prueba más, pero para obtener un fichero no nos vale con el método tradicional sino que se debe codificar cada valor en su posición en la tabla ascii, así que probamos y obtenemos el fichero /etc/passwd con el siguiente payload

Visto como poder explotar esta vulnerabilidad creamos un simple script en python que nos permita realizar el ataque de una forma más sencilla y nuestro script es el siguiente:

 

Una vez hecho ejecutamos nuestro script para verificar que tenemos acceso

 

Buscamos un poco por la máquina y encontramos la password del usuario woodenk en el fichero de conexión de base de datos de la aplicación

 

Obteniendo la flag de user

Con la password del usuario, accedemos por ssh y conseguimos la primera flag

 

Escalado de privilegios

El siguiente paso será escalar a root y para eso enumeramos el sistema y vemos los procesos que se ejecutan en la máquina con pspy y vemos uno muy interesante

Investigando procesos para escalar a root

 

El usuario root ejecuta el script /opt/cleanup con el usuario woodenk, y si revisamos el mismo tiene el siguiente contenido

 

El script hace una limpieza de fichero xml y jpg en diferentes rutas del sistema pero no entendemos muy bien el porqué de esta tarea periódica así que vamos a analizar el código de la aplicación para buscarle una explicación.

Revisamos el fichero donde encontramos las credenciales

Y encontramos el método utilizado para la exportación de los ficheros xml

Vemos que el autor debe de ser woodenk o damian y que el fichero xml que solicita se debe de encontrar en la ruta 

aunque posiblemente podamos bypasear la ruta a nuestro antojo.

Siguiendo con la revisión encontramos también el método utilizado para leer los metadatos en el fichero /opt/credit-score/LogParser/final/src/main/java/com/logparser/App.java

Así que necesitaremos meter nuestra ruta en el metadato Artist de la imagen jpg que utilicemos

Y por último, en el mismo fichero, encontramos como utiliza el useragent

 

Con todos estos datos en mano vamos a llevar el ataque de la siguiente forma

  1. Obtenemos nuestra imagen jpg
  2. Añadimos el metadato de Artist
  3. Generamos un fichero xml con nuestro ataque xxe
  4. Lanzamos un curl modificando el useragent para que coja nuestra imagen
  5. Revisamos las estadísticas del portal para forzar los cambios

 

Así que vamos a ello, en primer lugar, y disponiendo de una imagen jpg añadimos un valor al metadato Artist

Generamos el fichero xml donde intentaremos obtener la clave ssh del usuario root

Subiremos los ficheros a la máquina y lanzaremos curl para realizar la petición de lectura de la imagen

Y por último accedemos al portal web en la uri de /stats y exportamos los datos

Estadísticas de visitas del portal

 

Completada esta parte, si esperamos unos segundos y volvemos a nuestro fichero xml tendremos la clave de root

 

Obteniendo la flag de root

Con la clave sólo nos queda acceder por ssh y obtener 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 *