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

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

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)

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.

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

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
Encontramos que el parámetro es “love”.

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!!!

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.

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

¡¡¡¡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.

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