Titulo: TryHackMe - Boiler CTF |
Fecha: 15-09-2021 |
Descripcion: Enumeracion - Joomla - RCE |
TryHackMe - Boiler Writeup
## Ping:
ping -c1 10.10.196.195
Mediante el comando ping vamos a trazar una ruta ICMP para ver si la maquina esta activa y ante que tipo de sistema operativo estamos
Podemos ver que la respuesta del ttl es 63 , el TTL en maquinas Linux es 64 y en maquinas Windows 128 , en este caso es 63 porque pasa por un nodo intermediario.
## Enumeracion :
Ahora vamos a proceder a ver que servicios tiene esta maquina abiertos para ello vamos a realizar una enumeracion de puertos:
Mediante el parametro --min-rate 5000 va a emitir paquetes no mas lento que 5000 paquetes por segundo
Para mayor informacion sobre el reconocimiento de puertos , vamos a lanzar unos scripts basicos de enumeracion , que nos dara mayor informacion sobre los servicios que corren
Podemos ver que tenemos el Servicio FTP abierto y encontramos el usuario Anonymous habilitado y encontramos un fichero robots.txt en el servicio Apache
Mediante la herramienta WhatWeb vamos a ver si estamos ante algun gestor de contenido como WordPress , Joomla ...ect.
## Reconocimiento FTP :
Vamos a acceder mediante el usuario Anonymous en busca de algun archivo o informacion , podemos ver que nos encontramos un fichero txt llamado info que se encontraba oculto
Si abrimos el fichero vamos a ver que nos encontramos ante una frase encriptada , si sabemos algo de criptografia nos vamos a dar cuenta rapido que esta encriptado ante un algoritmo de cifrado por sustitución
Podemos descifrarlo rapido usando alguna herramienta online y ver que pista nos esta proporcionando
Nos dice poco , pero nos dice que la Enumeracion es la clave
## Reconocimiento Web :
Si abrimos el navegador nos vamos a encontrar ante la pagina por defecto de Apache , que nos reporta poca informacion.
Pero en el reconocimiento que hizimos mas exhaustivo nos encontramos un robots.txt , vamos a ver que tipo de informacion nos proporciona sobre posible directorios web potenciales
Si probamos los directorios parecen "Rabitt Holes" que no nos llevan a ningun lado
Como en la pista anterior , nos dicen que la enumeracion es la clave voy a realizar la enumeracion por el protocolo UDP , en busca de servicios potenciales abiertos
Podemos ver que por el protocolo UDP tenemos abierto el puerto 10000 , normalmente este puerto es usado por un servicio llamado Webmin , si entramos al puerto nos va hacer un redirect , por lo que tendremos que añadirlo a /etc/hosts ya que se esta aplicando Virtual Hosting.
Pero como no tenemos credenciales potenciales , lo vamos a dejar en un segundo plano y vamos a realizar fuzzing en busqueda de directorios web
El Fuzzing nos reporta 2 posibles directorios web potenciales
Joomla es un gestor de contenido parecido a WordPress , podemos ver que no esta muy actualizado
Existe un directorio potencial llamado /joomla/_test que nos ofrece una cierta informacion importante , en la parte superior izquierda tenemos un texto "sar2html"
Si buscamos que es sar2html nos vamos a dar cuenta que cuenta con un CVE y cuenta con prueba de concepto
Si investigamos como funciona la vulnerabilidad nos vamos a dar cuenta que es pasandole como parametro un comando y nos representara la informacion en el margen izquierdo en los botones que tenemos
Primero realize un ls , para ver contenia la maquina y vi que habia un fichero llamado log.txt , el cual ejecute un cat para poder ver la informacion
Si tenemos buena vista podemos ver un usuario y una contraseña del servicio SSH , que esta funcionando en otro puerto diferente al por defecto
Por lo que vamos a conectarnos al servicio SSH que esta funcionando en el puerto 55007 y vamos a ingresar el usuario y contraseña que hemos obtenido para verificarlas
## Escalada de Privilegios :
Vamos a inspeccionar el usuario Basterd , si hacemos un listado nos encontramos ante script llamado backup.sh , el cual contiene las credenciales del otro usuario llamado "stoner"
Vamos a cambiar al usuario Stoner y aqui ya podremos el flag del usuario llamado .secret
Ahora solo nos queda escalar privilegios para poder ser Root , debemos buscar permisos SUID
find / -perm /4000 -type f -exec ls -ld {} \; 2>/dev/null
Encontramos un servicio potencial llamado /usr/bin/find , podemos explotar este binario con la ayuda de esta web https://gtfobins.github.io/gtfobins/find/
Y ya tendriamos la maquina Boiler CTF explotada , solo nos quedaria responder a las preguntas que nos indica TryHackMe!!