miércoles, 1 de junio de 2022

TryHackMe - All in One

¡Hola a todos! Después de este par de meses sin escribir nada vengo con una máquina de TryHackMe para ir quitándome el polvo, que no sólo han sido unos meses sin escribir, sino que sin hacer máquinas también :( . Se trata de la máquina All in One.

Para empezar, como siempre, vamos a realizar un escaneo de puertos para ver qué servicios tenemos disponibles.
 

 
Como el login como anónimo está habilitado en el FTP, vamos a intentar ver si hay algo interesante dentro.
 

Tenemos una web que muestra el index por defecto de apache, por lo que fuzzeamos para ver si encontramos algo.


Encontramos dos directorios que pueden ser interesantes. Entramos a /wordpress.


Como a simple vista no veo nada interesante en la web, vamos a tirar wpscan para listar los plugins instalados por si alguno tuviese alguna vuln pública.


Tenemos dos plugins identificados, mail-masta y reflex-gallery.


Buscamos si hay exploits públicos para los dos plugins identificados.



La versión vulnerable a LFI de mail-masta es la misma que la instalada en la máquina, por lo que vamos a revisar la información.


Como veis, es explotable y nos ha permitido leer el fichero /etc/passwd.


Para intentar obtener algo de información sensible, vamos a intentar encontrar el archivo wp-config.php.


Como es un archivo con código php no vamos a poder leerlo de la misma forma que el /etc/passwd, por eso hemos usado un wrapper que hace un encode en base64 y permite ver reflejado el contenido del archivo. Decodeamos lo que nos devuelve y vemos que tenemos las credenciales para la conexión a la base de datos.


Vamos a la web de nuevo e intentamos usar las credenciales obtenidas para iniciar sesión.


Para poder mandarnos una reverse shell tenemos que modificar uno de los archivos php del tema. Por ejemplo, voy a editar el archivo 404.php sustituyendo su contenido por la reverse shell de pentestmonkey con mi IP y puerto que pondremos a la escucha.


Hacemos una petición al archivo modificado tras poner un puerto a la escucha y vemos que se queda sin devolver nada.


Con el puerto puesto a la escucha y tras ejecutar el curl al fichero modificado, vemos que recibimos la reverse shell. Hacemos un upgrade de la shell para tener el prompt.


Accedemos al directorio home de elyana y comprobamos los permisos que tenemos en sus ficheros. Podemos leer el archivo hint.txt que dice que la contraseña se esconde en el sistema.


Como nos referencia "find" en la pista, vamos a ejecutar find para buscar archivos de elyana. Aquí encontramos un archivo interesante en el directorio de configuración de mysql.


Leemos el archivo y vemos que tenemos las credenciales de elyana.


Realizamos la conexión por SSH con las credenciales obtenidas.


Como ya tenemos el usuario de elyana, ya tenemos acceso a la flag (en base64, habría que decodearla).


Para escalar privilegios y ser root, lo primero que compruebo es la configuración que tenemos para ejecutar sudo. Vemos que podemos ejecutar socat, por lo que aprovecho que puedes ejecutar comandos con socat para ejecutar bash como root y obtener la flag.


¡Con esto hemos terminado la máquina! Muchas gracias por echar un ojo a la entrada una vez más. Quería comentar que como podéis ver, ya hay dominio :D aunque es .xyz y es algo cutre, pero así somos aquí, ya sabéis 😎

No hay comentarios:

Publicar un comentario