Hacemos los reconocimientos de siempre:
Hacemos un whatweb:
Y la web es una plantilla de apache:
De todos modos tenemos que asegurarnos de que la IP resuelva bien, por tanto vamos a probar en apuntar en el /etc/hosts la dirección bank.htb:
Entonces ahora si accedemos a esta dirección:
Y vemos que esta web trabaja con php:
Haremos un fuzzing para ver directorios ocultos:
Y nos encontró una ruta de uploads:
Que si entramos en esta ruta vemos que no tenemos los permisos:
Pero vemos que también tenemos otra ruta que se llama assets, por tanto vamos a entrar y nos encontramos con estos documentos:
También nos encontró una ruta que es balance-transfer:
Por tanto, si entramos en balance-transfer nos encontramos con muchos archivos:
Por tanto vamos a descargarnos uno de ellos y los examinamos con el terminal:
Entramos en el fichero y nos encontramos con unas credenciales ocultas en BASE64:
Pero tenemos que buscar alguno de estos archivos que sea diferente al resto para ver si esconde algo diferente, para ello podemos obtenerlos todos con curl:
Pero nosotros solo queremos sacar los números que sean diferentes, para ver si hay otro que tiene un peso diferente; entonces para ello debemos filtrar las columnas así con awk:
Con tr podemos quitar comillas, con awk filtramos las columnas y eliminamos columnas que no queremos, y luego ya es solo ir probando con grep hasta acertar y llegar al campo que queremos:
Ahora podemos descargarla con el comando wget:
Y si la examinamos, vemos que tiene unas credenciales visibles:
Entonces ahora vamos a probar a iniciar sesión:
Y nos entró correctamente:
Ahora vemos que tenemos un apartado donde subir archivos dentro de support:
Por tanto, como la web interpreta php, vamos a subir un archivo php malicioso que nos permita ejecutar comandos remotamente: Consideraciones Previas (Código PHP malicioso para ganar Reverse Shell)
Pero al subirlo nos da este error:
Por tanto tendremos que subir el archivo directamente con burpsuite para que la petición pueda ser interceptada, y así conocer qué extensión acepta esta web:
Ahora al dar a submit habrá sido interceptada por burpsuite, donde debemos eliminar donde pone content type y cambiarlo para que el servidor piense que se trata de una imagen:
Si mandamos esto al repeater podremos ir viendo las respuestas, donde podemos ver que nos dicen que la extensión HTB será aceptada e interpretada como si fuera php:
Lo que debemos hacer en este punto es subir el mismo archivo pero con la extensión htb:
Y ahora subimos este archivo:
Hacemos clic en el archivo y tratamos de ejecutar una cmd poniendo ?cmd=whaomi, por ejemplo:
Ahora que ha funcionado, vamos a lanzarnos una reverse shell, primero urlencodeando con burpsuite el comando de enviarnos una bash y después poniéndonos a escuchar con netcat: Consideraciones Previas (CONSEGUIR REVERSE SHELL DE MÁQUINA VÍCTIMA A NUESTRO EQUIPO)
Pegamos la url:
Y recibimos la conexión:
Y navegando por los directorios ya obtenemos la flag:
Para escalar privilegios, hay un script de Python dentro del directorio /var que se llama emergency, que lo que hace es escalar privilegios, por tanto solo tendremos que ejecutarlo y ya seremos usuarios root.