Maquina BuscaLove

DockerLabs

Posted by Anton-Hacks on June 2, 2024

Información

  • Máquina: BuscaLove
  • Plataforma: DockerLabs
  • Creador: El Pingüino de Mario
  • SO: Linux
  • Dificultad: Facil

Configuración Entorno

Primeramente, como siempre para configurar las máquinas de DockerLabs, exportamos los ficheros auto_deploy.sh y en este caso pinguinazo.tar. Para ejecutarlo utilizamos el siguiente comando:

sudo bash auto_deploy.sh buscalove.tar

Image 1

auto_deploy.sh: este archivo se encarga de desplegar la máquina mediante docker y, una vez presionamos ctrl+c pasa a un proceso de borrado, todo automático, sin necesidad de tener conocimientos de docker.

buscalove.tar: contiene todo el contenido de la máquina docker; es el corazón, donde está la máquina víctima.

Reconocimiento

Lo primero que realizamos es lanzar un ping contra la IP de la máquina para comprobar que tenemos conectividad.

ping -c 1 172.18.0.2

Image 2

Podemos observar que el ttl es de 64, por tanto, como norma general podemos afirmas que se trata de una maquina linux. Una vez comprobada la conectividad, iniciaremos un escaneo con nmap, para detectar puertos abiertos y lo almacenaremos en un fichero llamado scan, con el siguiente comando:

nmap -p- --open -sV -sC -sS --min-rate=5000 -vvv -n -Pn 172.18.0.2 -oN scan
  • -p- –> Búsqueda de puertos abiertos
  • –open –> Enumera los puertos abiertos
  • -sS –> Es un modo de escaneo rápido
  • -sC –> Que use un conjunto de scripts de reconocimiento
  • -sV –> Que encuentre la versión del servicio abierto
  • –min-rate=5000 –> Hace que el reconocimiento aun vaya más rápido mandando no menos de 5000 paquetes
  • -n –> No hace resolución DNS
  • -Pn –> No hace ping
  • -vvv –> Muestra en pantalla a medida que encuentra puertos (Verbose) Image 3

Vemos que tiene abiertos los puertos 22 (ssh) y 80 (http).

Explotación

Al acceder por el puerto 80 y vemos la página por defecto de Apache.

Realizamos fuzzing web con gobuster para tratar de localizar directorios. Encontramos el directorio /wordpress. Image 4

gobuster dir -u http://172.18.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20 -q -x php,html,txt  

Revisamos la web y no encontramos nada relevante, lo único un comentario en el código fuente, que dice lo siguiente:

<!-- El desarollo de esta web esta en fase verde muy verde te dejo aqui la ventana abierta con mucho love para los curiosos que gustan de leer -->

Realizamos fuzzing del /wordpress y localizamos el archivo index.php.

gobuster dir -u http://172.18.0.2/wordpress/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20 -q -x php,html,txt 

Image 5

Vemos que es la misma página que anteriormente, por lo tanto, trataremos de hacer fuzzing com wfuzz para localizar si tiene una vulnerabilidad de tipo LFI (Local File Inclusion).

wfuzz -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u 172.18.0.2/wordpress/index.php'?'FUZZ=../../../../../../../etc/passwd --hc 404 --hl 40

Image 6 Encontramos que el parámetro es “love”.

Image 7

Localizamos los usuarios Pedro y Rosa. Ahora mediante fuerza bruta con hydra y el diccionario rockyou.txt trataremos de averiguar la contraseña de las conexiones SSH.

Para Pedro no localizamos contraseña, pero para Rosa si!!! Image 8

Accedemos vía SSH con el usuario de Rosa, una vez dentro utilizamos sudo -l para ver que podemos ejecutar en modo root. Vemos que podemos ejecutar tanto el comando ls como el comando cat. Después de buscar en diferentes directorios, encontramos en el directorio root el archivo secret.txt.

Convertimos el código hexadecimal a ASCII y tenemos: NZXWCY3FOJ2GC4TBONXXG2IK Este parece ser un texto codificado, posiblemente una cadena en Base32. Para verificarlo y decodificarlo, intentemos convertirlo de Base32 a texto ASCII. La cadena decodificada de Base32 resulta en: noacertarasosi Probamos si es la contraseña de root y no, asique intentamos con el usuario Pedro, y logramos acceder. Image 10

Revisamos que podemos ejecutar como root y tenemos que podemos ejecutar /usr/bin/env, por tanto, podemos escalar privilegios de la siguiente manera. Image 11

¡¡¡¡Así que, hemos conseguido ser root!!!!

Eliminación del entorno

Para borrar la máquina solo debemos ir a la consola donde lo desplegamos y presionar ctrl+c y eliminaría y borraría todo rastro de la máquina víctima en nuestro sistema LINUX.

Image 12

¡¡¡Espero que os haya gustado y nos vemos en la próxima!!!



Meow?