Skip to main content
HackTheBox machines – Socket WriteUp

HackTheBox machines – Socket WriteUp

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

Socket 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 Socket 10.10.11.206 a /etc/hosts como socket.htb y comenzamos con el escaneo de puertos nmap.

Hacemos un primer escaneo para detectar los puertos abiertos de forma rápida:

Y ahora un escaneo sobre los puertos detectados para sacar más información de los mismos:

 

Añadiremos el dominio descubierto, qreader.htb, al fichero hosts y continuamos.

 

Enumeración

Accedemos al portal web de qreader y vemos la siguiente página

HackTheBox machines – Socket WriteUp

 

 

Se trata de un portal web para la conversión y generación de códigos QR, pero si bajamos un poco en la misma veremos una sección donde nos permite descargarnos el código de la aplicación:

HackTheBox machines – Socket WriteUp

 

Así que descargamos el fichero zip y dentro del mismo hay un ejecutable

Si obtenemos los strings del mismo vemos que está realizado en python

 

Así que vamos a utilizar la herramienta pyinstxtractor para extraer contenido del binario

 

Revisamos entre los ficheros y vemos un fichero .pyc que correspondería con el fichero principal de la aplicación

Así que utilizaremos la tool de unpyc para obtener el código original

Y revisamos el fichero que tiene el siguiente código

 

Revisamos el código y vemos dos partes interesantes, por un lado la versión y la conexión al websocket

Y por otro la petición que realiza

 

Visto esto, nos hacemos un pequeño script para facilitar las pruebas siguientes, cuyo contenido es el siguiente:

 

Y lanzamos una primera prueba

 

Así que hacemos algunas pruebas a ver si es vulnerable a sqli y obtenemos la versión de la base de datos, se trata de un posgres

 

Así que vamos a ver que más sacamos, obtenemos en primer lugar las tablas

A continuación, y visto el esquema users, vamos a sacar sus tablas

Y ahora vamos a por el contenido de la tabla users

Y tenemos un hash, así que vamos a crackstation para ver si podemos descifrar el mismo

Descifrando en crackstation

 

Ya tenemos una password, pero nos faltan ahora usuarios, así que vamos a seguir enumerando los esquemas.

Revisamos la tabla de versions

reports

answers

Y en esta última vemos dos usuarios nuevos

Así que vamos a probar el acceso con los usuarios y password obtenidos y conseguimos entrar con el usuario tkeller

 

Obteniendo la flag de user

Una vez dentro, simplemente, cogemos la flag

 

Escalado de privilegios

El siguiente paso será root, así que vamos a mirar que permisos tiene este usuario

 

Y vemos un script en bash cuyo contenido es el siguiente

 

El script anterior construye un paquete en función del fichero spec o py que le pasemos, así que vamos a generar un fichero spec con el siguiente contenido para obtener permisos de suid en el binario de bash

 

Y ejecutamos

 

Una vez ejecutado revisamos, y ha funcionado, el binario de bash ya tiene los permisos de suid

 

Obteniendo la flag de root

Como último paso, escalamos a root y cogemos 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 *