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.14
.
Realizamos un ping a la dirección IP y podemos validar que tenemos alcance.
Empezamos con un escaneo de puertos y podemos ver que tenemos 3 puertos.
Al realizar un escaneo más profundo vemos que para el servicio FTP podemos acceder empleando un usuario anónimo.
Ingresamos al servicio FTP, listamos el contenido y podemos ver que tenemos solo un index, pero este está vacío. Volvemos a listar, pero incluyendo los archivos ocultos y vemos una carpeta .web
que contiene otro index.
Luego de descargar el archivo y abrirlo vemos el siguiente mensaje.
Vamos al navegador donde ingresamos la dirección IP, pero vemos que su página principal sí tiene contenido y es el mismo que encontramos en .web
.
Como habla de reverse Shell probaremos empleando uno
Subimos el archivo con éxito.
Antes de abrir el archivo en el navegador iniciamos nuestro listener.
Al intentar abrir desde el navegador este archivo nos descarga, no lo interpreta.
Ya que no encontramos ningún id_rsa en el servicio FTP, escaneamos por UDP y podemos observar que tenemos otros servicios. Entre ellos TFTP.
Ingresamos al servicio TFTP y si realizamos un GET, ya deberíamos tener el archivo en nuestra máquina si este existe. Saliendo de la sesión observamos el archivo.
Como ya tenemos el nombre de usuario alexia
y la llave, primero daremos permisos y luego nos conectaremos de manera exitosa.
Revisando archivos temporales observamos uno llamado shoMetheKey
.
Revisando el archivo podemos observar varias cosas interesantes.
Ejecutamos el archivo y nos muestra un id_rsa
, pero comparando con el id_rsa
que obtuvimos antes vemos que es el mismo.
Verificando permisos SUID podemos observar que podemos ejecutar ese mismo archivo con permisos root.
Recordemos que al leer el archivo podemos observar que no llamaba directamente al directorio del usuario, sino que llama a Home
.
Para aprovecharnos de esto haremos uso de la asignación de variables
y le daremos el valor siguiente así al ejecutar el archivo podremos acceder al directorio de root
.
HOME='/root'
Ejecutamos el archivo y podemos ver que el id_rsa cambio.
Nos vamos a una carpeta que podemos editar en este caso a tmp
y creamos el archivo id_rsa
al cual ingresamos el contenido que obtuvimos. Le damos permisos y nos conectamos como root
.
Leemos el archivo del directorio de root
, pero vemos que no es el flag.
Nos da una pista, si buscando por el nombre del archivo podemos observar su ubicación. De esta manera culminamos esta máquina de manera exitosa.