Hacemos el reconocimiento con nmap:
Y vemos que dentro del puerto 6666 hay un websocket, los cuales se utilizan a menudo en aplicaciones web en tiempo real, como chat, juegos y aplicaciones de transmisión de video. También se pueden utilizar en aplicaciones de escritorio y móviles, por lo que nos conectamos con el comando wscat:
wscat -c ws://192.168.0.30:6666
Y encontramos el usuario noname, lo cual significa que podemos hacer un ataque de fuerza bruta al puerto 5555 que estaba abierto con un servicio ftp:
noname:phoenix
Accedemos vía ftp y funciona correctamente, donde además vemos un archivo index.html:
Y vemos que ese archivo html se corresponde con el contenido del puerto 80:
Vamos a subir una webshell, por ejemplo la de pentestmonkey:
Y la cargamos:
Nos ponemos en escucha con netcat por el puerto 443 y llamamos a la webshell desde el navegador, pero vemos que no se ejecuta el código, sino que se descarga, debido a que existe un filtro:
Nos informamos en hacktricks y vemos otras posibles extensiones:
https://book.hacktricks.xyz/pentesting-web/file-upload
Por lo que vamos probando en renombrar el archivo, hasta que vemos que con php5 funciona correctamente:
Y vemos que podemos ejecutar perl como el usuario noname:
Vemos las instrucciones en gtfobins:
Por lo que ejecutamos perl como el usuario noname y pivotamos a dicho usuario:
sudo -u noname perl -e 'exec "/bin/bash";'
Y con el comando sudo -l nuevamente vemos que podemos ejecutar como el usuairo powerful el binario rev:
Viendo las instrucciones de gtfobins vemos que podemos leer archivos como el usuario powerful:
Por lo que hacemos la prueba con el archivo bash_history:
LFILE=/home/powerful/.bash_history sudo -u powerful rev $LFILE | rev
Probamos estas credenciales y funciona:
powerful:Th3_p0w3R_of_H4ck1nG
Probamos en entrar por ssh y vemos que tenemos acceso:
Y tenemos este otro binario siendo el usuario powerful:




















