Saltar al contenido principal
Proyectos Laboratorio

Forgotten Portal

Ejercicio completo de pentesting ofensivo sobre máquina virtual en DockerLabs, documentado con metodología PTES y TTPs mapeados a MITRE ATT&CK.

Por Valentina Ramírez · Actualizado: 19 de junio de 2026

Resumen

Ejercicio completo de pentesting ofensivo sobre máquina virtual en DockerLabs, documentado con metodología PTES y TTPs mapeados a MITRE ATT&CK.

Stack
NmapGobusterNetcatPythonMITRE ATT&CKPTESLinuxDockerLabs
01

El problema

¿Qué tan vulnerable es un sistema mal configurado ante un atacante con acceso inicial mínimo?

Credenciales en el HTML

El nombre de usuario y la ruta del portal oculto estaban visibles en los comentarios del codigo fuente de la pagina.

Upload sin validacion real

El servidor aceptaba archivos PHP sin verificar el tipo real: cualquier web shell pasaba disfrazado de documento legitimo.

Clave SSH compartida

La misma id_rsa estaba distribuida en varias cuentas del sistema, convirtiendo un acceso en pivote lateral inmediato.

02

Qué construí

  1. 01

    Reconocimiento con Nmap (puertos, servicios, versiones) y Gobuster (directorios expuestos).

  2. 02

    Explotación de upload PHP sin validación (CWE-434) para ejecutar código remoto.

  3. 03

    Reverse shell con Netcat y escalada de privilegios a root.

  4. 04

    Vulnerabilidades clasificadas: CWE-615, CWE-434, CWE-312, CWE-321, CWE-269.

  5. 05

    Writeup completo publicado con metodología PTES y TTPs de MITRE ATT&CK.

Cadena de ataque: 7 fases, ninguna depende de un zero-day.

  1. Reconocimiento: Nmap detecta Apache 2.4.58 en el puerto 80
  2. Descubrimiento: comentario HTML expone usuario 'Bob' y ruta /m4ch1n3_upload.html
  3. Acceso inicial: web shell PHP subida a /uploads via formulario sin validacion
  4. Shell remota: payload Bash sobre Netcat establece reverse shell interactiva
  5. Escalada horizontal: credencial Base64 en access_log decodificada (alice:s3cr3tp@ssw0rd^487)
  6. Pivote lateral: id_rsa compartida permite moverse a la cuenta de bob
  7. Root: sudo tar sin contrasena explotado via GTFOBins, acceso total al sistema
03

Resultados

  • Compromiso total de la maquina en 7 fases sin usar exploits de dia cero: todos los vectores son errores de configuracion y errores humanos reproducibles en entornos reales.

  • Cinco vulnerabilidades identificadas y clasificadas con CWE: informacion expuesta en comentarios (CWE-615), upload sin restricciones (CWE-434), credenciales en logs (CWE-312), clave SSH reutilizada (CWE-321) y sudo excesivo (CWE-269).

  • User flag capturada y acceso root confirmado. Writeup completo documentado con metodologia PTES y TTPs mapeados a MITRE ATT&CK.

04

Aprendizajes

  • La seguridad no termina en el codigo del servidor: un comentario HTML con un nombre de usuario y una ruta oculta basta para iniciar un ataque completo. Todo lo que el servidor envia al navegador es superficie de ataque.

  • Validar la extension de un archivo no es lo mismo que validar su tipo real: un web shell PHP con extension permitida ejecuta codigo arbitrario en el servidor. La validacion ocurre en el MIME type verificado en servidor y en evitar que el directorio de subida ejecute codigo.

A un click

Tu próxima idea merece
código que la sostenga.

Diseño y construyo productos completos: del backend a la interfaz que tus usuarios aman. Con IA integrada y seguridad desde el diseño.

Proyectos desde COP 2.000.000 / USD 500 según alcance (MVP desde 3-6 semanas).

Disponibilidad limitada, respondo en 24h.