Blog Writeup - Vulnyx
Información |
---|
Máquina: Blog |
Creador: d4t4s3c |
SO: Linux |
Dificultad: Easy |
En el caso de esta máquina el propio creador d4t4s3c nos da la IP de la misma en el login de la máquina.
En mi laboratorio la IP que vamos a usar será:
1
192.168.0.30
Realizo un ping a la máquina para confirmar que hay visibilidad entre máquinas
Realizamos un nmap para ver que servicios están corriendo en la máquina.
1
nmap -sVC 192.168.0.30
El parámetro -sVC es el conjunto de -sV (Service Version, te muestra las versiones de los servicios) y -sC (Script Scan, nos ayuda a encontrar vulnerabilidades conocidas o servicios en el objetivo).
Disponemos de un servicio HTTP en el puerto 80 y un servicio SSH en el puerto 22, visitamos la web.
El index es un ping que nos da la pista de que se trata de un blog
Puesto que no encontramos nada procedemos a realizar un escaneo de directorios con dirbuster
1
gobuster dir -u "http://192.168.0.30" -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Encontramos un directorio llamado /my_weblog, nos dirigimos a él.
Encontramos un blog, mirando el código fuente de la página nos damos cuenta que es un Nibbleblog
Buscando en la documentación de nibbleblog (ahora bludit) he encontrado que por defecto el usuario con privilegios es “admin”
Intentamos entrar al panel de login con la URL
http://192.168.0.30/my_weblog/admin/
pero sin éxito, intentamos un FUZZING para encontrar el panel de login
1
gobuster fuzz -w /usr/share/wordlists/wfuzz/general/admin-panels.txt -t 200 -u "http://blog.nyx/my_weblog/FUZZ" --exclude-length 270
Encontramos lo que parece ser el panel de control
Intentamos una fuerza bruta sabiendo que el usuario por defecto es admin
1
hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.0.30 http-post-form "/my_weblog/admin.php:username=^USER^&password=^PASS^:Incorrect"
Obtenemos la password para acceder al panel de control
Una vez dentro vamos a intentar explotar la vulnerabilidad CVE-2015-6967 que permite ejecución remota de código a través del plugin My Image
Creamos y subimos la revshell a través del plugin My Image
Ponemos el puerto que hemmos elegido a la escucha
1
nc -nlvp 4444
Ejecutamos la revshell desde la URL
http://192.168.0.30/my_weblog/content/private/plugins/my_image/image.php
Conseguimos la shell como el usuario www-data
Encuentro la posible explotación del binario git
Hago una búsqueda en GTFObins
Antes de explotar el binario es necesario hacer un tratamiento de la TTY
Lo exploto ejecutándolo como el user admin con
1
sudo -u admin /usr/bin/git -p help config
Nos dejará meter un texto, invocamos la shell con !/bin/bash y nos convertimos en admin
Encontramos la flag de user dentro de su home
Hacemos el mismo procedimiento para escalar privilegios, observamos si como admin podemos ejecutar algún binario explotable como root
Encontramos el mcedit, haciendo una búsqueda en GTFObins no encontramos nada.
Ejecutamos el binario como root
1
sudo /usr/bin/mcedit
Encuentro una forma de invocar una shell desde el programa
Nos convertimos en root a través de la shell de mcedit
Y por último obtenemos la flag de root!