Dog
Executive summary — Dog is an Easy Linux box built on a chain of failures that's extremely realistic and depressingly common in sloppy CMS deployments: an exposed
.gitrepository on the web server lets you reconstruct the full source of a Backdrop CMS install (a Drupal 7 fork). Inside that source sit the CMS's database credentials, which turn out to be reused as the system user's SSH password. Once in,sudo -lreveals full permission onbee, Backdrop's official admin CLI, whoseevalsubcommand runs arbitrary PHP — and since it runs viasudo, that's instant root. Path: Web → exposed .git → credentials → SSH → bee eval → Root.
| Platform | Hack The Box |
| Operating system | Linux |
| Difficulty | Easy |
| Status | Retired |
| Target IP | 10.129.231.223 |
Attack map
[80] Backdrop CMS (fuzzing → /core /modules /themes /sites /files)
│ exposed .git/ → git-dumper → repository dump
▼
[CREDS] password in the CMS config → reused
▼
[SSH] johncusack (user.txt)
│ sudo -l → NOPASSWD /usr/local/bin/bee
▼
[BEE] bee eval "system('/bin/bash')" (as root)
▼
[ROOT]
1. Reconnaissance
We always start with a full port sweep, not just the top-1000: on web-focused "Easy" boxes the attack surface is often deliberately small, so confirming there are only two services already points the rest of the assessment toward HTTP.
nmap -sC -sV -p- 10.129.231.223
22/tcp open ssh OpenSSH
80/tcp open http Apache
Two open ports: SSH (likely the final destination of a foothold, not the entry point) and HTTP, which is where we focus.
Resumen ejecutivo — Dog es una máquina Linux Easy construida sobre una cadena de fallos muy realista y muy común en despliegues descuidados de CMS: un repositorio
.gitexpuesto en el servidor web permite reconstruir el código fuente completo de un Backdrop CMS (fork de Drupal 7). Dentro del código aparecen las credenciales de base de datos del CMS, que resultan estar reutilizadas como contraseña del usuario del sistema por SSH. Una vez dentro,sudo -lrevela permiso total sobrebee, la CLI oficial de administración de Backdrop, cuyo subcomandoevalejecuta PHP arbitrario — y al correr porsudo, eso es root directo. Recorrido: Web → .git expuesto → credenciales → SSH → bee eval → Root.
| Plataforma | Hack The Box |
| Sistema operativo | Linux |
| Dificultad | Easy |
| Estado | Retired |
| IP objetivo | 10.129.231.223 |
Mapa del ataque
[80] Backdrop CMS (fuzzing → /core /modules /themes /sites /files)
│ .git/ expuesto → git-dumper → volcado del repositorio
▼
[CREDS] contraseña en la config del CMS → reutilizada
▼
[SSH] johncusack (user.txt)
│ sudo -l → NOPASSWD /usr/local/bin/bee
▼
[BEE] bee eval "system('/bin/bash')" (como root)
▼
[ROOT]
1. Reconocimiento
Empezamos siempre por un barrido de puertos completo, no solo el top-1000: en máquinas «Easy» centradas en web es habitual que la superficie de ataque sea deliberadamente pequeña, así que confirmar que solo hay dos servicios ya orienta el resto de la auditoría hacia HTTP.
nmap -sC -sV -p- 10.129.231.223
22/tcp open ssh OpenSSH
80/tcp open http Apache
Dos puertos abiertos: SSH (probablemente el destino final de un foothold, no el punto de entrada) y HTTP, que es donde vamos a centrarnos.
This content is Root Access only. Everything else on the site — the free tier, the whole public library — stays open.
See Root Access plansNo account? Create one free then upgrade from your console.
Este contenido es solo para Root Access. Todo lo demás del sitio — el nivel gratuito, toda la biblioteca pública — sigue abierto.
Ver planes de Root Access¿Sin cuenta? Crea una gratis y luego mejora desde tu consola.