THL Shined — 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 identificados observamos que son dos SSH.
Ingresamos la dirección IP en el navegador y podemos observar que se trata de una página de ventas.
Realizamos una búsqueda de subdirectorios y tenemos un access.php
.
Agregando el archivo podemos ver que en access.php
tenemos un login.
Probamos algunas credenciales por defecto y algunas inyecciones SQL, pero no vemos nada, pero si revisamos si tenemos algún URL podemos ver que no redirige a ningún lado.
Ya que se trata de un .php
probamos si es posible un LFI para ello buscaremos el parámetro y podemos ver que identificamos que se llama inet
.
Como es posible el LFI probamos el parámetro y vemos el resultado positivo.
Revisamos si podemos acceder por medio de un log-poisoning, pero al realizar el escaneo no observamos nada adicional.
Ya que no tenemos por donde buscar probamos buscando en el /etc/passwd
y observamos el usuario cifra
, así que con esa idea buscaremos su id_rsa con éxito.
Creamos el archivo, damos permisos luego tratamos de conectarnos, pero nos pide el password lo cual es raro, recordamos que identificamos dos servicios SSH. Probamos en el segundo tenemos acceso.
Listamos los archivos donde podemos observar un archivo xlsm
. Intentamos un sudo -l
, pero no tenemos éxito.
Tratamos de pasar el archivo, pero vemos que no tenemos alcance.
Si bien podemos usar la opción de convertirlo en base64
y luego copiarlo optaremos por usar SSH. Para ello emplearemos el comando de scp "Secure Copy Protocol"
. Ingresamos el siguiente comando y ya lo tenemos copiado.
Revisando el archivo podemos ver que en sus macros tenemos lo que parecen ser credenciales.
leopoldo:snickers
Como entre los usuarios no tenemos a leopoldo
probamos conectándonos a la red que encontramos, pero no es posible.
Intentamos ingresando desde nuestra máquina usando el puerto por defecto y tenemos éxito.
Al realizar un ip a
podemos ver que el puerto 2222
es para ingresar al Docker, ya que coincide con la dirección del servicio.
Realizamos un sudo -l
, pero no tenemos permisos.
Revisando los archivos temporales tenemos en tmp
un archivo llamado backup
y otro clean
.
Leyendo el archivo podemos observar que este script crea un archivo comprimido llamado backup.tgz
con los archivos de ese directorio y se guarda en esa misma ubicación. Y el segundo script simplemente los elimina.
Antes de probar explotar el tipo de archivo que emplea revisaremos si se ejecuta periódicamente, ya que no tenemos permisos para ejecutar sudo. Por ello copiaremos el pspy
en nuestra ubicación e iniciaremos el servidor con Python.
Descargamos el archivo y damos permisos de ejecución.
Ejecutamos el archivo y luego de unos segundos vemos que se ejecuta automáticamente.
Buscando en como escalar encontramos la siguiente página que trata sobre como ejecutar un Tar Wildcard Injection. Lo que realizamos es seguir los siguientes pasos para que nos copie una bash en el directorio tmp
.
echo 'cp /bin/bash /tmp/bash; chmod +s /tmp/bash' > shell.sh
echo "" > "--checkpoint-action=exec=sh shell.sh"
echo "" > --checkpoint=1
Luego de ejecutarlo esperamos unos segundos listamos el directorio tmp
para verificar si se copió la bash
en ese directorio y es así.
Como confirmamos ello realizamos un /tmp/bash -p
y podemos ver que ya somos 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
