Skip to main content
HackTheBox machines – Soccer WriteUp

HackTheBox machines – Soccer WriteUp

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

Soccer 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 Soccer 10.10.11.194 a /etc/hosts como soccer.htb y comenzamos con el escaneo de puertos nmap.

Encontramos 3 puertos abiertos en el escaneo así que vamos a ello.

 

Enumeración

Accedemos al portal web en el puerto 80 y vemos la siguiente página web

HackTheBox machines – Soccer WriteUp

 

Revisamos un poco la página por encima, el código fuente y demás y procedemos a la enumeración de directorios con feroxbuster

 

Y encontramos una página de login del software tinyfilemanager

HackTheBox machines – Soccer WriteUp

 

Revisando la documentación de la aplicación, probamos con las credenciales por defecto que serían las siguientes

Funcionan, así que accedemos al dashboard y vemos la siguiente página

Revisión de tinymanager

 

Revisamos el portal y vemos una sección donde podemos subir ficheros

Subiendo revshell a tinymanager

 

Así que subimos una revshell y conseguimos acceso en nuestra escucha con el usuario www-data

 

Escalado al usuario player

Una vez dentro, obtenemos una shell en condiciones con la ayuda de python

Enumeramos la máquina y vemos un subdominio en el fichero hosts de la máquina

 

Revisamos la configuración del virtualhost en los ficheros de nginx para conocer donde está el código de la misma

 

El código de la aplicación se encuentra en el directorio de root, así que no podemos verlo, por lo que vamos a navegar al mismo a través del navegador

Acceso al subdominio de soc-player

 

No disponemos de credenciales, así que nos registramos en la página

Registro en el portal de soccer

 

Una vez registrados, accedemos, y vemos una página de tickets

Web de gestión de tickets

 

No parece que podamos hacer mucho por aqui, así que revisamos el código fuente y encontramos una parte interesante

Inspeccionando el código fuente

 

 

La página web llama a un websocket en el puerto 9091 así que vamos a tratar de tirar por ahí.

El puerto del websocket lo vimos en el escaneo con nmap y si hacemos una prueba de conexión vemos que es posible:

 

Así que vamos a buscar en google y encontramos un post interesante donde explica como realizar un ataque de SQLi ciego a través de un web socket en github.

Revisamos el script y haremos un par de cambios.

Cambiaremos la siguiente línea

Por esto

Y la línea

Por esto otro

Y nos quedaría el script tal que así

 

Una vez hechos los cambios ejecutamos nuestro exploit

 

Y lanzaremos sqlmap siguiendo la explicación del artículo

 

Ya tenemos las bases de datos, vamos a enumerar ahora las tablas del esquema soccer_db

Posteriormente las columnas de la única tabla existente

Y por último los datos de la tabla

Y tenemos unas credenciales del usuario player, así que vamos a conectar por ssh con las mismas

 

Obteniendo la flag de user

Una vez dentro con el usuario player, cogemos simplemente nuestra primera flag

 

Escalado de privilegios

Una vez dentro, revisamos los ficheros existentes con permisos de suid

 

Y observamos que está el binario de doas, para el que no lo conozca se trata de una tool que trabaja de forma, digamos, similar a sudo, ya que permite dar permisos elevados a un usuario para la ejecución de ciertas tareas concretas. Así que vamos a buscar donde esta la configuración del binario

Y revisamos el contenido del fichero

En el mismo indica que podemos ejecutar el comando dstat como root, así que vamos a probarlo

Y así es, así que puede ser la forma de escalar privilegios.

 

Revisamos la ruta de configuración de dstat y observamos que tenemos permisos de escritura

 

Conociendo como funciona esta aplicación, vamos a crear un plugin que otorgue permisos de suid al binario de bash, y que posteriormente llamaremos desde dstat

Una vez creado, ejecutamos dstat con nuestro plugin

Y revisamos que ha funcionado correctamente

 

Obteniendo la flag de root

Con el bit de suid añadido a bash, sólo nos queda escalar a root y coger 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 *