Move
Levantar la máquina
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.
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
).
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.
Lo buscamos en el navegador.
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.
Buscamos un exloit para la version 8.3.0 ya que vemos en la parta inferior que utiliza esa versión.
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.
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...
Entonces tiene pinta de que es la clave para poder acceder a la base de datos. Utilizamos la aplicación.
Y vemos la clave de freddy. Por lo que podemos probar por SSH ya que si recordamos, el puerto estaba abierto.
Entramos con freddy y vemos que está corriendo un Kali Linux.
Lo siguiente es entrar con root.
Vemos que podemos ejecutar como cualquier usuario el script de python llamado maintenance.py.
Entramos en él para ver lo que hay.
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.
Por lo que lo hacemos en el script.
Y vemos que al ejecutarlo funciona correctamente.
Ya somos root!!
Última actualización