Move

Levantar la máquina

captura-arranque

Conectividad con la máquina atacante

Vemos que hay conectividad con la máquina y sabemos que es Linux por el TTL, que es 64.

captura-ping

Escaneo de puertos

Usamos la herramienta nmap para el escaneo de puertos.

sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -vvv -Pn 172.17.0.2 -oN puertos

Este comando lo que hace es buscar todos los puertos abiertos (1-65535) (-p-), lo hace de manera sigilosa (-sS), busca la versión de los servicios ( -sV), de manera rápida(--min-rate=5000), desactiva la resolución DNS para evitar problemas(-n), utiliza triple verbose para que tengamos más detalle del escaneo (-vvv)y omite la detección de host(-Pn). Lo guarda en el fichero allPorts (-oN puertos).

captura-puertos

Puertos abiertos

Puerto 21 -> FTP

Puerto 22 -> SSH

Puerto 80 -> HTTP

Puerto 3000 -> Grafana

Fuzzing

Si hacemos fuzzing con gobuster vemos que encuentra un archivo llamado maintenance.html.

captura-fuzzing

Lo buscamos en el navegador.

captura-tmp

Grafana

Reconocimiento del puerto 3000

Si buscamos en el navegador la IP de la máquina por el puerto 3000, vemos que está corriendo un Grafana.

captura-grafana

Buscamos un exloit para la version 8.3.0 ya que vemos en la parta inferior que utiliza esa versión.

captura-exploit

Vemos que lo único que tenemos que poner es la flag -H y la IP. También indicaremos el puerto 3000 que es por donde está corriendo Grafana. Y este exploit lo que hace es leer archivos del sistema.

captura-passwd

Vemos que existe un usuario llamado freddy.

Podriamos intentar con la herramienta hydra hacer un ataque de fuerza bruta pero por ahí no van los tiros.

Si recordamos, tenemos el puerto 21 abierto, y en el reporte de nmap vemos que podemos entrar como Anónimo.

.

Si buscamos en internet vemos que el archivo database.kdbx se puede desencriptar con Keepassxc.

Si recordamos, nos salía haciendo fuzzing un archivo llamado maintenance.html, en el que dice que el sitio web está en mantenimiento, que acceda a /tmp/pass.txt.

Si volvemos a utilizar el exploit de python...

captura-pass txt

Entonces tiene pinta de que es la clave para poder acceder a la base de datos. Utilizamos la aplicación.

captura-keepass

Y vemos la clave de freddy. Por lo que podemos probar por SSH ya que si recordamos, el puerto estaba abierto.

captura-freddy

Entramos con freddy y vemos que está corriendo un Kali Linux.

Lo siguiente es entrar con root.

captura-freddy2

Vemos que podemos ejecutar como cualquier usuario el script de python llamado maintenance.py.

captura-sudo

Entramos en él para ver lo que hay.

captura-print

A través de la herramienta Searchbins que está basada en la página GTFOBins.

Vemos que podemos editar el archivo por lo que podemos hacernos una shell importando la librería os.

captura-searchbins

Por lo que lo hacemos en el script.

captura-bin

Y vemos que al ejecutarlo funciona correctamente.

captura-root

Ya somos root!!

Última actualización