THL Bridgenton — Linux


Para poder hacer uso de esta máquina primero debemos descargar el archivo y así poder desplegar el laboratorio.
Descargamos el archivo de la página https://thehackerslabs.com/
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos un archivo.
Para desplegar el laboratorio usaremos nuestro hipervisor favorito, así también al ejecutarlo podemos ver que nos indica la dirección IP que tiene la máquina.
Realizamos un ping a la máquina para comprobar la conexión y observamos que sí la tenemos.
Iniciamos un escaneo de puertos y podemos observar varios puertos habilitados.
Volvemos a realizar un escaneo más detallado de los puertos, pero no observamos mucha más información.
Ingresamos la dirección IP en el navegador y podemos observar una página que los botones llevan a un login y otro a un formulario.
En registro.php
tenemos la opción para subir archivos.
Probamos realizando un escaneo de subdirectorios y podemos ver que hay un directorio llamado uploads
.
Probaremos subiendo una reverse-shell.
Probamos subiendo directamente, pero no es posible.
Para ver si podemos subir alguna variación interceptamos el envío del formulario con Burpsuite.
Enviamos la captura a intruder
y seleccionamos solo la extensión.
Cargamos nuestro payload y le damos en start attack
.
Revisando los resultados se puede observar que phtml
es el que acepta.
Para evitar subir el archivo y repetir el proceso solo enviamos el request
de esa captura al repeater
y lo enviamos.
Al dirigirnos al directorio de uploads
podemos ver que tenemos el archivo subido.
Iniciamos nuestro listener.
Hacemos clic en el archivo que subimos y en nuestro listener ya tenemos acceso.
Para facilitar las cosas en este punto migraremos la shell porque en este caso nos ocurre que no podemos hacer uso de las flechas o subir y bajar al comando anterior. Para ello primero hacemos
script /dev/null -c bash
luego un ctrl+z, regresaremos a nuestra consola seguido de ello ingresaremos los siguientes comandos para recuperar la shell usamos stty
stty raw -echo; fg
reset xterm
para obtener más características usamos
export TERM=xterm
para la variable de entorno
echo $SHELL
y para pasar a bash usamos
export SHELL=/bin/bash
para establecer el tamaño adecuado de la consola ingresamos
stty rows 59 cols 236
de esta manera ya nos podemos mover con más libertad en la consola. Listamos los usuarios que tenemos y vemos a root
con james
.
Revisando los archivos temporales tenemos un example.py
Revisando el archivo observamos que importa la librería hashlib
la cual podríamos aprovechar, pero por ahora no nos sirve, ya que no podemos ejecutar el archivo como sudo y realizar un library hijacking
.
Comprobando permisos SUID observamos que para james
tenemos el permiso para el binario base64
.
Buscando en la página de GTFOBins observamos como hacer uso de este binario.
Puesto que podemos leer un archivo de james
el único que por defecto podría existir es el id_rsa
y es el que leemos.
Tratamos de ingresar usando el id_rsa
, pero nos pide un password.
Usamos ssh2john
para extraer el hash y con john
obtenemos el password.
Nos conectamos ingresando la frase obtenida.
Realizamos un sudo -l
y podemos ver el archivo en Python que encontramos al comienzo. Ahora sí podemos realizar el library hijacking
que indicamos antes.
Para escalar usando esta librería solo debemos crear un archivo en la misma ubicación del script.
Este archivo lo que realizara es generarnos una shell. Luego le damos permisos de ejecución al archivo.
Cuando ejecutemos el archivo podemos observar que nos genera una consola con permisos de root
. De esta manera culminando esta máquina.
Subscribe to my newsletter
Read articles from Gm4tsy directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
