Comenzamos a escanear:
Probamos a intentar sacar algún subdomain con el comando dig:
Tenemos ya 3 direcciones: trick.htb, root.trick.hrb y preprod-payroll.trick.htb:
* root.trick.hrb es idéntica a esta.
En la tercera (preprod-payroll.trick.htb), podemos ver un interesante formulario de login con user y password.
Probando en el username: admin’ or 1 = 1– – y poniendo password 12345, nos autoriza a entrar en el portal:
En la pestaña Attendance vemos esta entrada:
En Payroll List:
En Employee List:
En Depatment List:
En Position List:
En Allowance List:
En Deduction List:
En Users:
Nos permite crear un usuario:
Revisando el fuzzing que teníamos puesto con gobuster, nos aparece un subdominio nuevo: Preprod-marketing.trick.htb.
Después de probar varias cosas en este nuevo subdominio, vemos que es vulnerable:
Sacamos el usuario Michael con /home/michael;/bin/bash
Después de muchos intentos, consigo sacar el id_rsa del usuario.
Probamos a hacer ssh con la clave y nos encontramos con la primera flag:
Haciendo un sudo -l vemos lo siguiente:
Nos permite hacer un restart a fail2ban, con lo que tenemos una pista clara de que la elevación de privilegios o el acceso a la flag de root, irá por este camino.
Accedemos a la ruta /etc/fail2ban y observamos que en ./action están todos los ficheros interesantes para llevar a cabo alguna acción que nos permita el objetivo.
Después de realizar muchas pruebas, me doy cuenta de que la clave está en el fichero «iptables-multiport.conf» ya que al producirse el baneo de un usuario, ejecuta la instrucción que en este caso le pongamos.
El problema es que el fichero en sí no permite escritura. Probando diferentes métodos y con prueba y error, finalmente consigo que realice mi instrucción de la siguiente manera:
Vamos a modificar este fichero de iptables para tratar de conseguir la flag a través de una de sus acciones:
Ahora, vamos a añadir esta instrucción de comandos para hacernos con la flag, cuando algún usuario resulte baneado:
Reiniciamos el servicio fail2ban:
Intentaremos provocar ese baneo de usuario con múltiples intentos de acceso mediante ssh:
Como podemos observar, la flag se ha creado correctamente en el directorio /tmp:
Con esto, ya tenemos finalizada la máquina. Espero que os haya gustado mi forma de hacerlo, sin llegar a escalar privilegios, pero consiguiendo igualmente la flag.
Un saludo y gracias por leerme.