Page cover

🟢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: Dog

  • IP: 10.10.11.58

  • Sistema operativo: Linux

  • Dificultad: 🟢 Fácil

  • Fecha: 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

  1. Directorio .git expuesto (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-dumper o DVCS-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?