🟢Dog
En esta ocasión vamos a hacer el writeup de la máquina Dog de Hack the Box, una máquina Linux de dificultad easy.

Información General
Nombre de la máquina:
DogIP:
10.10.11.58Sistema operativo:
LinuxDificultad:
🟢 FácilFecha:
02/06/2025
Reconocimiento Inicial
Añadimos la IP al /etc/hosts
Escaneo de Puertos
Solo encontramos puertos comunes (22 y 80) abiertos. Nos centraremos en el servicio web.
Acceso Web
Accedemos a http://dog.htb y observamos que parece ser un blog de cuidados sobre perros.

En el footer encontramos que es un Backdrop CMS:

Enumeración Web
Login web
Encontramos un login pero no tenemos credenciales:

Observamos que al acceder a login se pasa un parámetro en la URL que podría contener un usuario. Haciendo fuzzing de parámetros no encontramos nada relevante.
Fuzzing de Directorios
El escaneo realizado con dirsearch ha revelado información crítica, especialmente la exposición de un directorio .git accesible públicamente. Esto representa un grave riesgo de seguridad, ya que podría permitir la extracción de código fuente, credenciales y otros datos sensibles.
Hallazgos Clave
Directorio
.gitexpuesto (Código fuente comprometido):Se encontraron múltiples archivos y subdirectorios de Git (como
HEAD,config,index,objects/, etc.).Riesgo: Permite reconstruir el repositorio completo usando herramientas como
git-dumperoDVCS-Pillage.
Dumpeo del git expuesto
Ahora tenemos en nuestro Kali el repositorio completo:
Enumeración del repositorio
Con tree . observamos todos los archivos de forma extendida para analizar posibles archivos que nos interesen.
En el archivo settings.php encontramos credenciales de root para conectarnos a la base de datos:
Probamos esa contraseña para acceder al panel de login pero no funciona.
Búsqueda de usuarios
Buscando por una extensión de email como @dog.htb encontramos el usuario Tiffany:
Al probar la contraseña que hemos encontrado para la base de datos y este usuario tiffany conseguimos acceder al Dashboard:

Explotación
Podemos seguir esta guía para subir una reverse shell y ganar RCE en Backdrop CMS:
Subida de Reverse Shell
En el menú seleccionamos Functionality > Install New Modules

Solo se permite cargar módulos en los formatos tar tgz gz bz2

Seleccionamos Manual installation, y elegimos la opción Upload a module

Descargar módulo oficial
En el siguiente enlace nos descargaremos un módulo oficial:
Descargaremos uno cualquiera, por ejemplo el de Shaperrific

Extraemos el zip y vemos el archivo template.php

Crear reverse shell
Usaremos una reverse shell en PHP como la de PentestMonkey:

Editar módulo PHP
Reemplazamos el contenido de template.php con la reverse shell creada:

Ahora comprimimos la carpeta completa en tar.gz:
Subida a la web
Abrimos un listener de netcat antes de subir el archivo:
Cargamos el tar.gz malicioso y le damos a install:

Hacemos click en Enable newly added themes, lo habilitamos y lo establecemos por defecto:


Al acceder a la configuración del módulo recibimos la shell automáticamente como el usuario www-data:

Enumeración interna
En el directorio home encontramos 2 usuarios interesantes: jobert y johncusack
En el directorio de johncusack encontramos la user flag, pero no tenemos permisos para acceder:
Acceso a la base de datos
Antes en el archivo settings.php encontramos credenciales para acceder a la base de datos como root, por lo que vamos a echarle un vistazo:
Bingo! Tenemos los hashes de todos los usuarios del sistema, aunque no vemos el de johncusack, que es el usuario que tiene la user flag. Podría ser el usuario john o jPAdminB
Cracking de hashes
Copiamos estos en un archivo llamado hashes.txt:
Estos hashes están en formato Drupal 7 hash (phpass base64, 32-bit), por lo que usaremos el modo de Hashcat 7900:
Despues de bastante tiempo no conseguimos crackear ningún hash.
User flag
Probando la contraseña para acceder a MySQL con el usuario johncusack conseguimos acceder por SSH. Esto es algo que siempre deberíamos probar al tener alguna contraseña válida:
Escala de privilegios
Permisos de ejecución
El usuario johncusack puede ejecutar bee en el sistema:
No encontramos ningún GTFOBins sobre el binario bee, así que vamos a echarle un ojo:
Bee permite ejecutar eval y php-scrip que son funcionalidades peligrosísimas si pueden ejecutarse como root, ya que permiten ejecutar código PHP arbitrario tras bootstrapping de Backdrop.
Al probarlo nos da un error "The required bootstrap level for 'eval' is not ready". Esto indica que bee no está ejecutando eval porque no encuentra el entorno Backdrop o no estámos en el directorio correcto donde se encuentra la instalación.
Buscar el index de la aplicación
Concretamente se encuentra en la ruta /var/www/html
Root flag
Última actualización
¿Te fue útil?