Notas de Luis

Hacemos un fuzzing en esta web y vemos que sólo nos encuentra un directorio de files y assets, al que no tenemos permiso:Hacemos los reconocimientos de siempre:

Lanzamos un whatweb porque vemos el puerto 80 y 8080 abierto:

Esto es lo que nos encontramos por el puerto 80:

Y esto otro por el puerto 8080:

Si hacemos clic en alguna de las secciones de la web nos damos cuenta que tiene aplicado virtual hosting, por tanto tenemos que modificar el fichero /etc/hosts:

Lo modificamos de esta manera, apuntando la IP a la dirección que vemos en la captura anterior:

Y ahora ya nos funcionan todos los apartados de la web:

Hacemos un fuzzing en esta web y vemos que sólo nos encuentra un directorio de files y assets, al que no tenemos permiso:

No obstante, el hecho de que tengamos en la URL la palabra file nos indica que puede ser vulnerable a path traversal:

Por tanto vamos a probar en ubicarnos al etc/password y efectivamente es vulnerable:

Vemos que hay un usuario llamado ash que tiene capacidad de ejecutar una bash, que es un usuario válido:

Y nos encontramos con esta información en formato hexadecimal, por tanto vamos a extraer únicamente estas dos columnas para poder decodificarlas todas a la vez, y esto lo haremos seleccionando con ctrl y alt mientras seleccionamos:

Pero ahora que podemos listar archivos, se nos muestra esta información por el puerto 8080, diciendo que los usuarios se encuentran ubicados en esta ruta:

Si accedemos a esta ruta, pero nos aparece vacío, y esto es porque no se encuentra en esta ruta:

Por tanto ahora debemos saber donde se encuentra este fichero de tomcat-users.xml, por tanto podemos crear un contenedor de ubuntu para instalar tomcat y así saber la ubicación de este fichero, por tanto levantamos un contenedor de ubuntu e instalamos tomcat9:

Y ahora con el comando locate podemos buscar donde se encuentra este fichero dentro del sistema, para ello instalamos locate también:

Y ahora una vez instalado podemos ejecutar el comando para saber donde se encuentra ese fichero, para ello primero ejecutamos el comando updatedb para que se actualice la base de datos para el comando locate y luego ya buscamos con el comando locate, donde nos encuentra dos directorios:

Por tanto ahora vamos a buscar estos dos archivos dentro de la máquina objetivo con path traversal, aunque debemos poner primero view-source para acceder a estas rutas:

Y aquí ya vemos unas credenciales:

Ahora que tenemos estas credenciales, vamos a entrar a iniciar sesión en tomcat escribiendo en la url manager/html:

Y aquí pondremos las credenciales que hemos encontrado antes:

Y nos entra pero aparece un mensaje que no tenemos permisos para continuar:

Por tanto vamos a buscar alguna vulnerabilidad de tomcat por google y encontramos esta página:

Y nos dicen que si ponemos en la url host-manager que funciona:

Por tanto vamos a probar y vemos que tras poner las mismas credenciales ya estamos dentro:

Una vez que estamos dentro sólo nos falta subir un archivo war malicioso creado con msfvenom y subirlo de alguna manera, pero en este caso no tenemos apartado de subir archivos, por tanto tendremos que subirlo con curl. Pero primero creamos el payload con msfvenom:

Utilizamos este payload y le añadimos el lhost y lport:

Ahora que ya tenemos el archivo malicioso war ya podemos subirlo con curl, y por internet podemos obtener instrucciones de cómo hacerlo:

Vamos a subirlo con curl:

Entonces ahora en la web con poner sólo shell ya nos estaría abriendo nuestro fichero malicioso:

Y con netcat habríamos recibido la conexión:

Ahora vamos a activar una pseudo consola para estar más cómodos:

Y navegando por los directorios vemos que para el usuario ash no tenemos permiso para entrar:

Ahora tenemos que efectuar un user pivoting para convertirnos en el usuario ash:

computing/hacking/ctf/hackthebox/maquina_tabby.txt · Última modificación: por 127.0.0.1