Skip to main content
HackTheBox machines – Tenet WriteUp

HackTheBox machines – Tenet WriteUp

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

Tenet es una de las maquinas existentes actualmente en la plataforma de hacking HackTheBox y es de dificultad Media.

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 Tenet 10.10.10.223 a /etc/hosts como tenet.htb y comenzamos con el escaneo de puertos nmap.

Visto el primer escaneo con nmap, observamos que sólo tenemos dos puertos disponibles, el acceso por ssh en el 22 para el cual no tenemos credenciales y un portal web en el puerto 80, así que comenzaremos por este.

 

Enumeracion

Accedemos al portal web en el puerto 80 y encontramos la página por defecto de apache:

Accediendo por primera vez al puerto 80

 

Hemos accedido por ip, así que accederemos ahora a través del dns tenet.htb que añadimos previamente al fichero /etc/hosts y observamos un blog en wordpress

Portal wordpress en tenet.htb

 

Revisamos el mismo y encontramos un comentario que parece indicar información acerca de un fichero de backup que deberemos investigar

Fuga de información en comentarios

 

Parece que existe un fichero llamado sator.php y un fichero de backup (sator.php.bak) así que buscamos el mismo pero no conseguimos dar con el en el portal.

Para verificar si existe, añadimos el subdominio sator.tenet.htb a nuestro fichero hosts y el subdominio existe, por lo que accedemos al fichero sator.php desde esta dirección obteniendo el siguiente resultado:

Ejecutando el fichero sator.php

 

Por lo que podemos ver actualiza la base de datos en función de lo que obtiene en el fichero de usuarios, así que vamos a buscar el backup a ver si podemos obtener más información y conseguimos descargarlo como sator.php.bak y cuyo código es el siguiente:

Por lo que vemos en el código, realiza una deserialización de los datos, pero no realiza ninguna comprobación o filtrado de los mismos por lo que podemos utilizar esta vulnerabilidad para tratar de explotar esta funcionalidad y conseguir acceso a la máquina.

Buscamos en google y encontramos un post donde trata la explotación de la deserialiación en php.

Así que para explotar la misma nos generamos un script en php que utilizaremos para obtener acceso en la máquina. Nuestro código es el siguiente:

En el mismo, y viendo el código del fichero de backup, podemos pasar datos serializados a través del parámetro arepo así que aprovecharemos esto para ejecutar una shell inversa en la máquina objetivo.

Dicho esto, levantamos nuestra escucha en netcat y ejecutamos nuestro script:

Y conseguimos una shell con el usuario www-data

Revisamos el site de wordpress con este usuario y encontramos unas claves de acceso a mysql en el fichero wp-config.php

Con estas claves, probaremos el acceso por ssh con el usuario neil que obtenemos.

 

Obteniendo la flag de user

Accedemos por ssh con las credenciales obtenidas del usuario neil y conseguiremos la flag de user:

 

Escalado de privilegios

En nuestro paso a root, vamos a comprobar en primer lugar si este usuario tiene la capacidad de realizar alguna acción como root:

Y vemos que tiene permisos para ejecutar el fichero enableSSH.sh, cuyo contenido es el siguiente:

El script añade una clave en el fichero authorized_keys del usuario root, por lo que podemos utilizar el mismo para añadir nuestra propia clave al usuario y conseguir escalar privilegios.

Una vez hemos creado nuestra clave ssh, vamos a necesitar 3 terminales para poder continuar en este paso.

En la primera de las terminales, creamos un bucle que añada nuestra clave ssh en el fichero temporal creado en /tmp para este fin:

En la segunda terminal ejecutaremos el script como sudo:

Y en la tercera nos loguearemos como root con nuestra clave y después de varios intentos conseguimos que nuestra clave sea añadida al fichero authorized_keys.

 

Obteniendo la flag de root

Una vez que hemos conseguido añadir nuestra clave, nos logueamos 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

 

Deja una respuesta

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