ColddBox Easy Write-up Oficial – VulnHub

ColddBox Easy Write-up Oficial – VulnHub

Me da mucha felicidad presentarles mi primera máquina vulnerable tipo boot2root, la ColddBox Easy, esta máquina está diseñada para el curso de Introducción al Hacking Ético al estilo boot2root que voy a impartir dentro de poco en Backtrack Academy, por ende voy a realizar el write-up de la máquina, ya les digo que esta máquina puede ser explotada de múltiples maneras e igualmente tiene muchas formas de escalar privilegios, así que empecemos. Se puede descargar desde aquí

Este write-up está hecho sobre la ColddBoxEasy versión en español, la subida a VulnHub y TryHackMe es la versión en ingles, no cambia mucho, solo el idioma del CMS y un nombre de usuario dentro de este.

También, he de decir que, este write-up está enfocado a la máquina subida en VulnHub, luego haré uno pero para la subida en TryHackMe.

Voy a dividir este write-up en:

Introducción

Lo primero es poner tanto la ColddBox como la máquina atacante en la misma red, por defecto la ColddBox vendrá en NAT pero yo recomiendo poner ambas máquinas en una red NAT, para crear una red NAT hay que irse a la parte superior de VirtualBox en Archivo > Preferencias o usar Ctrl + G:

Una vez ahí, hay que ir a Red y crear la red NAT nueva en cuestión:

Ahora solamente queda poner ambas máquinas en esa red:

Kali:

ColddBox:

Y ahora ya si, se inician ambas máquinas.

Si esto no funciona que puede pasar, poner la máquina en adaptador puente.

Primero que todo necesitamos saber la ip de la víctima (ColddBox Easy), esto se ha hecho a propósito para que también se practique la búsqueda de host dentro de una red, para este paso se puede usar el mismo nmap, arp-scan, netdiscover, etc, usaremos nmap rápidamente:

nmap (dirección_de_red)/(máscara)

Nos centramos solamente en el que nos muestra a priori el puerto 80 abierto.

Ya que se tiene la ip, se procede a la enumeración:

Enumeración

Se empieza con furious para analizar todos los puertos de forma rápida:

furious -s connect -p 1-65535 (IP)

Se puede ver que esta el puerto 80 (HTTP) abierto, que ya lo sabíamos por el escaneo de nmap anterior, y nos revela otro puerto, el 4512 que no pudo determinar que protocolo usa, así que ya sabiendo que de todos los puertos tiene estos dos abiertos, se usará nmap para escanearlos más a fondo:

nmap -sC -sV -p80,4512 (IP)

Gracias a esto se puede comprobar que lo que corre en el puerto 4512 es un servicio SSH. 

Ahora, se procede a observar el servidor web que corre en el puerto 80, a simple vista es un sencillo blog de wordpress:

Revisando el sitio web no se encuentra alago relevante, así que se procede a una búsqueda de directorios con gobuster:

gobuster dir –url http://(IP) –wordlist (RUTA_WORDLIST)

Esto nos arrojará:

Ahí se ve que hay un directorio llamado “hidden”, algo nada común, al echar un vistazo vemos un mensaje:

Vemos un mensaje de parte de “Felipe” para “C0ldd” donde le dice que este último le cambio la contraseña a “Hugo” y Felipe le solicita que cuando pueda se la envié para que Hugo pueda acceder. Ya con esto tenemos 3 posibles nombres de usuarios, Felipe, Hugo y c0ldd.

Partiendo de esto y partiendo de que el CMS usado para crear el sitio web es WordPress, se usaré el conocido wpscan para enumerar los usuarios, para ello:

wpscan –url http://(IP) –enumerate u

Este escaneo nos confirma, además de darnos información de múltiples vulnerabilidades con las que cuenta el sitio (que se las dejo para que hagan diferentes tipos de explotaciones), nos da los 3 usuarios que teníamos en mente:

Ahora, usemos la lógica, si el usuario “Felipe” creo una página para dejarle un mensaje al usuario “c0ldd” para que este último le diga la contraseña que le puso al usuario “Hugo”, eso significa que el usuario “Felipe” no tiene privilegios suficientes como para cambiar/ver contraseñas de los demás usuarios, por ende el usuario “c0ldd” es el que sí puede y por ende el que de seguro tiene más privilegios, por ende apuntaré a él.

Explotación

Así que, ya tenemos un usuario al que apuntar solo falta la contraseña, probaré hacer un ataque de fuerza bruta y ya que estamos usando wpscan, lo usaremos para esto, también se puede usar hydra, medusa, etc, en fin, para ello:

wpscan –url http://(IP) -U c0ldd -P (wordlist)

Y luego de unos segundos:

Ya con la contraseña, procedo a entrar al dashboard de wordpress:

Aquí, lo que hay que conseguir es una Shell reversa para entrar al sistema, para ello se puede usar un plugin malicioso, colocar un fragmento de código php que nos dé una Shell en un plugin o tema, yo usaré este último en una página del tema, para ello, irse a Apariencia > editor:

Y aquí usaré un fragmento pequeño de código php, se pueden usar otras shells como las de pentestmonkey, etc. Lo haremos en la página de 404:

Debes, en el código de la imagen si se usa, modificar la ip por la de tu máquina y el puerto por el que gustes, aunque es opcional el puerto, puedes usar el 443 como está en la imagen, entonces, luego de actualizar y guardar los cambios en el código de la página, se tiene que poner a la escucha ese puerto en la máquina local con nc:

nc -lvnp 443

Ahora, entramos a la página 404.php y cuando se haga obtendremos la shell:

Y tenemos acceso al sistema como www-data, ahora, intentaré leer la bandera user.txt y ver qué usuarios hay en el sistema:

Se puede ver que, hay un usuario llamado c0ldd pero no tenemos permiso como www-data para poder leer la bandera, por lo que tendremos que acceder como ese usuario, como “c0ldd”, en este punto siempre recomiendo en este tipo de máquina boot2root, que usan wordpress, revisar el fichero wp-config.php ya que, aquí usualmente se encuentran las credenciales de el usuario de la BD y algunas veces estas credenciales se reutilizan en el sistema, entonces, al revisar el fichero se pueden ver estas credenciales:

Recuerda que estas credenciales NO son las de un usuario del sistema, son las de un usuario de la base de datos MySQL, pero en este tipo de máquinas es muy usual que estas credenciales se reutilicen en el sistema, así que, partiendo de esto, probemos a acceder por el servicio ssh con el usuario “c0ldd” y su contraseña, con esto podremos acceder y leer el user.txt:

Escalación de privilegios

 Ahora, intentaré ver lo que hay dentro del directorio root:

No tengo permisos con este usuario, entonces hay que escalar privilegios  a root, para esto podemos buscar cronjobs, SUID, ver que binarios podemos ejecutar como root, etc.

Empecemos con un simple “sudo -l”:

Vemos que como el usuario “c0ldd” podemos ejecutar como root los binarios, vim, chmod y ftp, ya tenemos formas de escalar, pero esta máquina tiene muchas formas de escalar, además de esta también hay cierto binario con permisos SUID, busquémoslo con este comando:

find / -perm -u=s -type f 2>/dev/null

Al hacerlo, se puede ver que hay un binario que es raro que tenga permisos SUID:

Ya tenemos varias formas de escalar privilegios, pero solo mostraré una forma para evitar alargar este write-up, así que lo haré de la forma más sencilla en este caso, con vim.

Para ello se abre vim como sudo “sudo vim”, al estar abierto, se presiona “Shift + :”, luego se escribe “!sh” y se obtiene la shell como root:

Ya solo queda leer la bandera de root:

Aquí, a diferencia de mis otros write-ups, no voy a poner mi opinión personal, prefiero que hagan la máquina y ustedes mismos opinen sobre ella. Suerte.

Créditos de la imagen de la caja en la miniatura, diseñada por Freepik from www.flaticon.es

Sobre el Autor

C0ldd

Founder of Coldd Security

Sponsor By

Coldd Security

REDES SOCIALES

Newsletter

Estadísticas

  • 55.938
  • 43

TheHackerSnow

0

Share This