Hacemos el escaneo con nmap:
{{pasted_image_20240130154025.png|}}
Y esto corre por el puerto 80:
{{pasted_image_20240130154041.png|}}
Y si hacemos fuzzing web nos encontramos con el siguiente directorio de /my_weblog:
{{pasted_image_20240130154136.png|}}
Y esto es lo que corre:
{{pasted_image_20240130154158.png|}}
Para conocer el CMS al que nos estamos enfrentando, utilizamos whatweb y vemos que se trata de un nibbleblog:
{{pasted_image_20240130154302.png|}}
Si queremos conocer la versión, tenemos la siguiente ruta donde se muestra la versión del CMS nibbleblog:
curl -X GET 'http://192.168.0.60/my_weblog/admin/boot/rules/98-constants.bit'
{{pasted_image_20240130154808.png|}}
Y tenemos este repositorio donde se nos dice que en versiones 4.0.3 (más recientes) podemos subir archivos, por lo que suponemos que para la versión 3.7.1 también sea vulnerable:
{{pasted_image_20240130154917.png|}}
Pero vemos que nos piden estar autenticados:
{{pasted_image_20240130155009.png|}}
No obstante, dentro del exploit nos dicen que hay una ruta llamada admin.php:
{{pasted_image_20240130155040.png|}}
http://192.168.0.60/my_weblog/admin.php
La probamos y encontramos el panel de login:
{{pasted_image_20240130155100.png|}}
Interceptamos la petición y vemos la ruta hasta llegar al panel de login:
{{pasted_image_20240130155417.png|}}
Y utilizamos hydra para hacer este ataque utilizando la información obtenida con burp suite:
hydra -t 64 -l admin -P /usr/share/wordlists/rockyou.txt 192.168.0.60 http-post-form "/my_weblog/admin.php:username=admin&password=^PASS^:Incorrect username or password."
{{pasted_image_20240130155707.png|}}
admin:kisses
Y estamos dentro:
{{pasted_image_20240130160102.png|}}
Y vemos que en el exploit nos indican la ruta para subir el archivo:
{{pasted_image_20240130160152.png|}}
Y por aquí vemos el lugar para subir un archivo malicioso:
{{pasted_image_20240130160411.png|}}
Subimos una reverse shell en php y accedemos a la ruta que hemos visto del script pero antes tenemos que renombrar la reverse shell a image.php, ya que es el nombre que espera la web:
{{pasted_image_20240130160847.png|}}
{{pasted_image_20240130160901.png|}}
Accedemos a la ruta donde se subió el image.php malicioso:
192.168.0.60/my_weblog/content/private/plugins/my_image/image.php
Y recibimos la conexión:
{{pasted_image_20240130160949.png|}}
Si ejecutamos el comando sudo -l vemos que podemos ejecutar git como root:
{{pasted_image_20240130161104.png|}}
Y debemos de ejecutar el siguiente comando para ejecutar el panel de ayuda de git y colar un comando:
{{pasted_image_20240130161304.png|}}
sudo -u admin /usr/bin/git branch --help config
{{pasted_image_20240130161240.png|}}
Y ya somos el usuario admin, donde vemos que si ejecutamos el comando sudo -l y podemos ejecutar este otro binario como root:
{{pasted_image_20240130161627.png|}}
Lo ejecutamos y si presionamos el atajo control F podemos desplegar un menú:
{{pasted_image_20240130161523.png|}}
Entramos dentro de user menu y luego en invoke shell:
{{pasted_image_20240130161550.png|}}
Y ya somos root:
{{pasted_image_20240130161609.png|}}