Empezamos con la primera máquina, la cual es la máquina aragog, por lo que hacemos el reconocimiento con nmap:
{{pasted_image_20230813124746.png|}}
Esto es lo que corre por el puerto 80:
{{pasted_image_20230813124953.png|}}
Hacemos fuzzing con gobuster y nos encontramos con el directorio /blog:
{{pasted_image_20230813125158.png|}}
Por lo que si lo ponemos en el navegador vemos que no carga bien, posiblemente porque se esté aplicando virtual hosting:
{{pasted_image_20230813125222.png|}}
No obstante, si miramos el código fuente, vemos que tenemos una dirección la cual es la siguiente:
http://wordpress.aragog.hogwarts
{{pasted_image_20230813125251.png|}}
Por lo que lo añadimos al /etc/hosts:
{{pasted_image_20230813125406.png|}}
Y ahora ya nos carga bien la página:
{{pasted_image_20230813125428.png|}}
Por tanto, al ver que estamos ante un wordpress, vamos a enumerar usuarios y plugins vulnerables con wpscan, utilizando los siguientes parámetros:
wpscan --url http://192.168.0.16/blog/ --enumerate u,vp
Y nos encuentra el usuario admin y la versión de wordpress 5:
{{pasted_image_20230813125711.png|}}
De todos modos, si queremos enumerar de forma más eficiente, tenemos que usar la API de wpscan:
{{pasted_image_20230813130302.png|}}
Y si investigamos sobre ese file manager unauthenticated, vemos que tenemos una prueba de concepto dentro de la web oficial de wpscan:
{{pasted_image_20230813130424.png|}}
Podemos descargarnos este script de python:
{{pasted_image_20230813130513.png|}}
Pero dentro de este script, vemos que en las instrucciones se menciona que lee el contenido de un archivo payload.php:
{{pasted_image_20230813130627.png|}}
Por lo que tenemos que crearlo y ahí meter el código malicioso de php:
{{pasted_image_20230813130728.png|}}
Y ahora si lanzamos el script, se habrá subido este código malicioso en la ruta que nos indican:
{{pasted_image_20230813130846.png|}}
Pero vemos que la url no está del todo bien representada, por lo que simplemente la pegamos en el navegador de forma corregida y ya estará arreglado:
http://192.168.0.16/blog//wp-content/plugins/wp-file-manager/lib/files/payload.php?cmd=whoami
Y podremos ejecutar comandos de forma remota:
{{pasted_image_20230813131002.png|}}
Ahora para ganar acceso a la máquina víctima, url encodeamos el código malicioso para enviarnos una reverse shell y habremos recibido la conexión:
{{pasted_image_20230813131517.png|}}
{{pasted_image_20230813131524.png|}}
Y recibimos la conexión:
{{pasted_image_20230813131540.png|}}
Dentro del directorio home visualizamos los 2 usuarios:
{{pasted_image_20230813131838.png|}}
Una vez dentro, visualizamos un fichero de la configuración de wordpress donde se guarda una contraseña, la cual es mySecr3tPass:
{{pasted_image_20230813132130.png|}}
Por tanto intentamos usarla para conectarnos a la base de datos y vemos que funciona:
{{pasted_image_20230813132206.png|}}
Dentro de la base de datos wordpress encontramos estas tablas:
{{pasted_image_20230813132307.png|}}
Y tenemos la contraseña de hadrid:
{{pasted_image_20230813132357.png|}}
Guardamos este hash para intentar crackearlo:
{{pasted_image_20230813132450.png|}}
Y vemos que la contraseña es password123:
{{pasted_image_20230813132536.png|}}
hagrid98:password123
Y podemos entrar por ssh:
{{pasted_image_20230813132721.png|}}
Podemos buscar scripts de bash dentro del sistema con este comando de find:
find / -name *.sh 2>/dev/null
Y nos encontramos con un backup.sh:
{{pasted_image_20230813133026.png|}}
Y vemos este contenido:
{{pasted_image_20230813133047.png|}}
Y alteramos el contenido del script para cambiar permisos a la bash:
{{pasted_image_20230813133138.png|}}
Y ya somos root:
{{pasted_image_20230813133242.png|}}