GoodGames
Executive summary — GoodGames is a very instructive Easy Linux box chaining SQLi → SSTI → RCE → Docker escape → SUID → root. A classic SQL injection on the login form leaks the administrator's hash; inside the internal admin panel, a Server-Side Template Injection in Flask/Jinja2 gives command execution —but inside a Docker container, not on the host—; and an unrestricted host-mounted volume lets us plant a SUID
bashand jump to the real system as root. A great box for understanding why «root in a container» isn't the same as «root on the box».
| Platform | Hack The Box |
| Operating system | Linux |
| Difficulty | Easy |
| Status | Retired |
| Target IP | 10.129.X.X |
Attack map
[80] goodgames.htb → login
│ SQLi (UNION) → admin hash → crack → "superadministrator"
▼
[internal-administration.goodgames.htb] admin panel
│ SSTI (Flask/Jinja2) {{7*7}}→49 → RCE
▼
[DOCKER] root@container (172.19.0.2)
│ /home/augustus mounted from host + SUID bash
▼
[SSH] augustus@host → ./bash -p
▼
[ROOT]
1. Reconnaissance
As always, we start with a sweep of every TCP port, then a detailed scan of just the ones that are open:
nmap -p- -sS --min-rate 5000 10.129.X.X -oN all_ports.txt
nmap -p 22,80 -sC -sV 10.129.X.X -oN service_scan.txt
Why two passes:
-p-covers all 65535 ports so we don't miss a service on a non-standard port;--min-rate 5000forces a high packet rate to keep the scan fast.- Once we know which ports are open, the second scan (
-sC -sV) is slower but far more informative: it runs the default NSE scripts and fingerprints each service's version, which isn't worth doing against all 65535 ports.
22/tcp open ssh
80/tcp open http
Analysis: minimal surface —SSH plus a single web service—. With only one web port exposed, the entry point is almost certainly there.
Resumen ejecutivo — GoodGames es una máquina Linux Easy muy didáctica que encadena SQLi → SSTI → RCE → escape de Docker → SUID → root. Una inyección SQL clásica en el formulario de login filtra el hash del administrador; ya dentro del panel interno, un Server-Side Template Injection en Flask/Jinja2 da ejecución de comandos —pero dentro de un contenedor Docker, no en el host—; y un volumen del host montado sin restricciones permite plantar un
bashcon bit SUID y saltar al sistema real como root. Un recorrido perfecto para entender por qué «root en un contenedor» no es lo mismo que «root en la máquina».
| Plataforma | Hack The Box |
| Sistema operativo | Linux |
| Dificultad | Easy |
| Estado | Retired |
| IP objetivo | 10.129.X.X |
Mapa del ataque
[80] goodgames.htb → login
│ SQLi (UNION) → hash de admin → crackeo → "superadministrator"
▼
[internal-administration.goodgames.htb] panel admin
│ SSTI (Flask/Jinja2) {{7*7}}→49 → RCE
▼
[DOCKER] root@contenedor (172.19.0.2)
│ /home/augustus montado desde el host + bash SUID
▼
[SSH] augustus@host → ./bash -p
▼
[ROOT]
1. Reconocimiento
Como siempre, empezamos con un barrido de todos los puertos TCP y, después, un escaneo detallado solo de los que están abiertos:
nmap -p- -sS --min-rate 5000 10.129.X.X -oN all_ports.txt
nmap -p 22,80 -sC -sV 10.129.X.X -oN service_scan.txt
Por qué en dos pasos:
-p-recorre los 65535 puertos para no pasar por alto servicios en puertos no estándar; con--min-rate 5000forzamos un ritmo de envío alto y acortamos el escaneo.- Una vez sabemos qué puertos están abiertos, el segundo escaneo (
-sC -sV) es más lento pero mucho más informativo: lanza los scripts NSE por defecto y detecta versión de cada servicio, algo que no compensa hacer contra los 65535 puertos.
22/tcp open ssh
80/tcp open http
Análisis: superficie mínima —SSH y un único servicio web—. Con un solo puerto web expuesto, el vector de entrada va a estar ahí.
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.