Keeper

Keeper es una máquina Linux de nivel de dificultad fácil que cuenta con un sistema de tickets de soporte que utiliza credenciales predeterminadas. Al enumerar el servicio, podemos ver las credenciales de texto sin formato que conducen al acceso SSH. Con el acceso "SSH", podemos obtener acceso a un archivo de volcado de la base de datos de KeePass, que podemos aprovechar para recuperar la contraseña maestra. Con acceso a la base de datos "Keepass", podemos acceder a las claves "SSH" raíz, que se utilizan para obtener un shell privilegiado en el host.
Enumeración
Iniciamos con la enumeración de los puertos abiertos con ayuda de nmap
Observamos dos puertos abiertos, ahora enumeraremos los servicios y versiones que se ejecutan en dichos puertos
Puerto 80
Navegando en el sitio web del servicio http 80 encontraremos en principio un link

Este link no llevara a tickets.keeper.htb el cual debemos de agregar a nuestro archivo /etc/hosts para que pueda cargar el sitio web.

Reques Tracker
Investigando un poco dimos con las credenciales por defecto del servicio, las cuales son las siguientes:
Estas credenciales no permitirán ingresar al panel de gestión del servicio requets tracker

Shell - lnorgaard
Dirigiendonos al panel de usuarios encontraremos a un usuario llamado inorgaard

Y en los comentarios encontraremos una credencial

Esta credencial es la siguiente, el cual nos permitirá iniciar sesión por el servicio ssh
Haciendo uso de la credencial encontrada podemos iniciar sesión por ssh

Shell - root
Enumerando el directorio encontraremos un archivo llamado RT30000.zip

Copiaremos a nuestra maquina atacante el archivo que encontramos y lo descomprimimos, al descomprimir encontraremos los siguientes archivos:

CVE-2023-32784
Investigando un poco encontraremos con una vulnerabilidad en la que nos permita extraer la contraseña con el archivo KeePassDumpFull.dmp
Para entender mejor sobre la vulnerabilidad puedes revisar el articulo:
Con ayuda de un script en python podremos extraer la contraseña en texto plano:
Ejecutamos el script y podremos ver parte de la contraseña

No tenemos la contraseña completa, pero es una parte dgrd med flde
Buscando por internet encontramos algo asociado a la palabra que encotramos

Entonces me decidí a probar dicho texto y haciendo variaciones, en este caso me funciono todas en minusculas:
Luego de ingresar al podremos encontrar dos credenciales

La que nos interesa es la de root, pero esta contraseña no parece ser la correcta.
Putty User Key
En las notas encontraremos un ssh rsa de Putty, el cual nos copiamos a un archivo para verlo mejor.

Investigando un poco encontre como convertirlo a una id_rsa, esto lo puedes revisar en el siguiente articulo:
Esto es un ejemplo de como lo podríamos hacer:
Con el ejemplo de ejecución de comandos podremos generar nuestra id_rsa

Y haciendo uso de esta id_rsa podremos iniciar sesión como el usuario root:

Last updated