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.25
.
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 los puertos 80 y 2222.
Al realizar el escaneo en más profundidad de los puertos podemos ver la siguiente información.
Ingresamos la dirección IP en el navegador y podemos observar que tenemos dos imágenes de un gato, revisando la página notamos que son diferentes archivos.
Probamos extrayendo alguna información, pero nos pide una clave. Usamos stegcracker
para ver si alguna palabra del diccionario coincide y tenemos suerte y es sexymama
.
Al obtener el texto oculto podemos ver que se llama mateo.txt
y una palabra que parece ser el password.
Realizamos un escaneo de subdirectorios para ver si obtenemos algo de información extra, pero no es así.
Como no tenemos ningún lugar donde buscar, nos conectaremos por SSH teniendo en cuenta que el puerto es el 2222.
mateo:thisismypassword
Ingresamos las credenciales y estamos dentro como mateo
.
Listamos los archivos donde se puede observar que hay un TXT el que contiene una ruta y parece ser un archivo de audio.
Antes de continuar revisaremos los archivos temporales y no contienen nada.
Como está en la ruta de la página web, para descargar en nuestra máquina y no complicarnos, agregaremos el nombre del archivo con la IP en el navegador y se descargará.
Al abrir el archivo notamos que se trata de un audio que parece ser estar en clave morse.
Para esta parte nos apoyaremos de la página morse-cw y al subir nuestro audio podemos observar el siguiente texto.
G O D E E P E R . . . C O M E W I T H M E . . . L I T T L E R A B B I T . . .
Con ello en mente Buscamos permisos SUID y podemos observar que tenemos varios permisos interesantes.
Probamos ejecutando el binario, pero no tenemos los permisos así que buscamos las Capabilities y podemos ver que tenemos dos de los cuales tail
es el que nos llama la atención.
Revisando los archivos de los usuarios a los que podemos acceder vemos que tenemos varios.
Leyendo cada archivo podemos ver que tenemos acceso al id_rsa
así como al note.txt
. En el último vemos un mensaje que indicaría también el id_rsa
del usuario bonita, que también pudimos conseguir si llegar a ese.
Leemos el archivo para validar y vemos que sí coincide con el id_rsa
de bonita
encontrada al comienzo.
Leemos el archivo completo y copiamos el contenido.
Una vez copiado el contenido creamos un archivo, ingresamos el contenido y le damos permisos. Intentamos conectarnos sin olvidar que debemos agregar el puerto 2222
. Luego de ellos ya estaríamos dentro como bonita
.
Como bonita
intentamos ejecutar el binario que encontramos pasos atrás, nos pide un código. Probamos inyectando un código arbitrario, pero parece estar realizando la validación y no vemos efecto.
Para ver el código emplearemos Ghidra
para ver dentro del binario el código. Para ello debemos pasar el archivo a nuestra máquina. Primero revisamos que tengamos Python, como es así iniciamos un servidor en el directorio del archivo.
Descargamos en nuestra máquina.
Usando ghidra
en la sección de Decompile
vemos el valor que estomas buscando.
0x16f8
Regresamos a la sesión de bonita
, ejecutamos el archivo, ingresamos la clave y ya somos root. De esta manera culminamos esta máquina.