WriteUp TryHackMe – C0lddBox:Easy

Pues la verdad tenia mucho tiempo sin escribir y después de completar este room que me pareció interesante, rápido y muy didáctico quise escribir una guía sobre como lo pude lograr (estoy casi seguro que hay mas de una forma de conseguir el acceso y elevar privilegios, pero al menos esta fue la que yo pude lograr) así que empecemos.

https://tryhackme.com/room/colddboxeasy

El room solo pide dos flags: user.txt y root.txt (como podrán imaginar uno es mas difícil que otro)

y solo tenemos obviamente la dirección IP, y lo primero que siempre hago es lanzar nmap:

nmap -sC vuln 10.10.70.7 -v

Entre los resultados podemos ver que tenemos un wordpress versión 4.1.31 instalado en el puerto 80 (http) y si lo visitamos el navegador tenemos algo como esto:

Nada fuera de lo normal, pero tan pronto vi que era un wordpress me llego a la mente pues obviamente una maravillosa herramienta conocida como «wpscan» y que viene por default en Kali Linux, así que tire de una terminal:

consiguiendo como uno de los resultados mas llamativos este:

Que habla sobre la posibilidad de explotar el xmlrpc, la verdad sonaba interesante, pero muy complicado así que lo deje como plan B y seguí buscando alguna forma mas fácil y seguí tirando de wpscan, esta vez intente listar los usuarios de la instancia con la opción: –enumerate u

wpscan --url http://10.10.70.7 --enumerate u

EUREKA!! ya tenemos algunos usuarios para probar así que por supuesto me dispuse a lanzar mi ataque por fuerza bruta, usando también wpscan (es que la verdad esta herramienta es una locura) y simplemente con un:

wpscan --url http://10.10.70.7/ --passwords /usr/share/wordlists/rockyou.txt

Y si se fijan bien no es necesario pasar nombres de usuario ya que wpscan los saca por fuerza bruta justo como en el ejemplo anterior (con lo cual si queremos ahcer fuerza bruta no es necesario enumerar usuarios) Así que solo es cuestión de tiempo para que de con las credenciales validas (suponiendo que las mismas estén en el wordlist rockyou)

Luego de 7 minutos al fin tenemos las credenciales validas para hacer login en la instancia de wordpress!!

y una vez dentro de la instancia de wordpress hay muchas cosas que podemos hacer para conseguir una shell de conexión inversa, podríamos insertar el código en varios lugares, pero la mas sencilla y por ende la que quise intentar es cargar una shell.php a través de la opción para cargar plugins de manera local, asi que simplemente nos dirigimos a:

Es posible que se genere un error feo y extraño producto de que la instancia no puede buscar plugins de manera online, pero luego de un momento deberán ver algo como esto:

Desde donde vamos a cargar nuestro archivo.php previamente configurado:

Pueden buscar shell remotas por google, yo en lo personal recomiendo esta de pentest monkey

Una vez cargado tendrán un error como este:

Pero tranquilos, igual ya esta cargada

Una vez realizado solo queda poner netcat a la escucha en el puerto que configuramos previamente en la shell (en mi caso fue el 670 en el tuyo pues eso EL QUE PUSISTE EN LA EN EL ARCHIVO.PHP):

Luego desde el navegador visitamos:

http://10.10.70.7/wp-content/uploads/2021/01/ElNombreDeTuArchivo.php

Y en la ventana donde pusimos netcat deberíamos recibir la shell:

MUY BIEN!! YA TENEMOS ACCESO!!

Ahora hagamos algunas cosas de rutina como mejorar la shell (ya que esta es muy incomoda, demasiado INCOMODA) y para esto solo tenemos que copiar y pegar esto en la shell recién conseguida

python3 -c 'import pty;pty.spawn("/bin/bash")'

Y después de husmear un poco encontré el archivo user.txt pero cuando intente abrirlo no pude..

Lo cual es de suponer pues no soy el dueño del archivo, necesito ser c0ldd para poder visualizarlo.. ummmmm PIENSA PIENSA así que se me ocurrió buscar en el directorio de instalacion de WordPress en busca de alguna info que pudiese ayudarme y encontré este elemento llamativo HIDDEN y solo pense: LO HICE!!

Pero cuando entre desde el navegador solo encontré este aviso que hablaba de enviar passwords al pobre Hugo

y se me lleno la cabeza de ideas como buscar logs del mail server, de chat y de mas cosas pero antes de eso quise probar suerte con el wp-config.php en busca de algún password y me salio a la primera:

cat wp-config.php | grep "DB_PASSWORD"

EUREKA DE NUEVO!!!!

Una vez con las credenciales de c0ldd solo tuve que cambiarme de usuario:

su c0ldd

e ingresar el password que acabe de conseguir, navegar hasta el directorio y conseguir mi primer flag

Mi felicidad se extinguió cuando quise moverme al directorio root y no pude:

Así que vamos a ver que es lo que puede hacer c0ldd:

sudo -l

El resultado: UNA MINA DE ORO!!

Bien pude crear un fichero con vim, hacerlo ejecutable y crear una segunda shell con privilegios de root, pero resultaba mas fácil simplemente hacerlo desde el cliente ftp:

sudo ftp

!/bin/bash

Y listo!! Espero se diviertan como yo lo hice.