Fileception
Introducción
Sección titulada «Introducción»Este documento presenta la resolución completa de la máquina Fileception, desarrollada por danielPRZ para la plataforma DockerLabs, clasificada con una dificultad Media.
El objetivo del laboratorio es comprometer el sistema mediante la enumeración de servicios expuestos, el abuso de configuraciones inseguras en FTP, el uso de esteganografía para la obtención de credenciales y una cadena de reutilización de contraseñas, culminando con una escalada de privilegios a root debido a una mala configuración de sudo.
La metodología seguida se estructura en las siguientes fases:
- Reconocimiento: identificación de servicios accesibles y recopilación de pistas.
- Explotación: obtención de acceso inicial mediante esteganografía y credenciales expuestas.
- Escalada de privilegios: abuso de permisos incorrectos en
sudopara obtener acceso administrativo.
El entorno fue desplegado localmente mediante DockerLabs, garantizando un escenario controlado y reproducible con fines educativos.
Información Técnica
Sección titulada «Información Técnica»| Atributo | Valor |
|---|---|
| Nombre | Fileception |
| Autor | danielPRZ |
| Dificultad | Medio |
| Fecha | 12/05/2024 |
| Plataforma | DockerLabs |
| IP Objetivo | 172.17.0.2 |
Fase 1 — Despliegue y Configuración
Sección titulada «Fase 1 — Despliegue y Configuración»1.1 Preparación del Entorno
Sección titulada «1.1 Preparación del Entorno»Se descomprime el archivo de la máquina y se despliega utilizando el script proporcionado:
unzip Fileception.zipsudo bash auto_deploy.sh Fileception.tar
Figura 1: Dirección IP asignada al contenedor
1.2 Organización del Workspace
Sección titulada «1.2 Organización del Workspace»Se crea una estructura de directorios para organizar escaneos, exploits y evidencias recopiladas durante el laboratorio:
mkdir -p Fileception/{content,exploits,nmap,scripts}cd FileceptionFase 2 — Reconocimiento
Sección titulada «Fase 2 — Reconocimiento»2.1 Escaneo de Puertos
Sección titulada «2.1 Escaneo de Puertos»Se ejecuta un escaneo TCP SYN para identificar los puertos abiertos en la máquina objetivo:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oG allPortsextractPorts allPortsPuertos identificados:
- 21/tcp — FTP
- 22/tcp — SSH
- 80/tcp — HTTP

Figura 2: Puertos identificados como abiertos
2.2 Enumeración Web
Sección titulada «2.2 Enumeración Web»Se realiza un escaneo de directorios y archivos web utilizando feroxbuster:
feroxbuster -u http://172.17.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/DirBuster-2007_directory-list-2.3-big.txt \ -x php,html,txt,js -t 100 -C 404Hallazgos relevantes
/index— Página por defecto de Apache que contiene un comentario con información sensible.

El comentario revela dos pistas importantes:
- El nombre de usuario
peter - Una cadena codificada, junto con la referencia explícita al uso de esteganografía
Al analizar la cadena con CyberChef, se identifica que está codificada en Base85, obteniendo una posible contraseña que se guarda para uso posterior.
2.3 Enumeración FTP
Sección titulada «2.3 Enumeración FTP»Se realiza un escaneo más detallado del servicio FTP para identificar configuraciones inseguras:
nmap -sCV -p21 172.17.0.2
El escaneo revela que el servicio FTP permite acceso anónimo y contiene el archivo hello_peter.jpg, el cual se descarga para su análisis:
ftp 172.17.0.2Fase 3 — Acceso Inicial
Sección titulada «Fase 3 — Acceso Inicial»Dado que se mencionó explícitamente el uso de esteganografía, se analiza la imagen descargada utilizando steghide:
steghide info hello_peter.jpg
A continuación, se extrae la información oculta:
steghide extract -sf hello_peter.jpgEl archivo extraído es you_find_me.txt:

El contenido corresponde a un texto en lenguaje Oak, el cual, tras ser traducido, revela una contraseña válida. Con estas credenciales se obtiene acceso al sistema mediante SSH:
ssh peter@172.17.0.2
Fase 4 — Escalada de Privilegios
Sección titulada «Fase 4 — Escalada de Privilegios»4.1 De peter → octopus
Sección titulada «4.1 De peter → octopus»Al revisar el directorio personal del usuario peter, se encuentra el archivo nota_importante.txt:

El mensaje indica revisar el directorio /tmp, donde se identifican los archivos:
recuerdos_del_sysadmin.txtimportante_octopus.odt
Se comienza leyendo el archivo de texto:

La pista sugiere cambiar la extensión de un archivo. Se descarga el archivo .odt:
scp peter@172.17.0.2:/tmp/importante_octopus.odt ./importante_octopus.odtAl identificar el tipo de archivo, se observa que realmente es un ZIP, por lo que se renombra y se descomprime. Entre los archivos XML extraídos, destaca leeme.xml:

Este archivo revela el usuario octopus y una contraseña codificada en Base64, la cual se decodifica para obtener las credenciales reales. Con ellas se cambia de usuario:
su octopus
4.2 De octopus → root
Sección titulada «4.2 De octopus → root»Se revisan los permisos sudo del usuario:
sudo -l
El usuario octopus tiene permisos completos en sudo, por lo que basta ejecutar:
sudo suObteniendo acceso como root:

Análisis de Vulnerabilidades
Sección titulada «Análisis de Vulnerabilidades»Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»| Vulnerabilidad | Severidad | Impacto |
|---|---|---|
| FTP con acceso anónimo | Alta | Exposición de archivos sensibles |
| Uso de esteganografía para ocultar credenciales | Media | Filtración indirecta de contraseñas |
| Almacenamiento inseguro de credenciales | Alta | Acceso no autorizado a cuentas del sistema |
| Reutilización de contraseñas | Alta | Movimiento lateral entre usuarios |
Configuración insegura de sudo | Crítica | Escalada directa de privilegios a root |
Recomendaciones de Mitigación
Sección titulada «Recomendaciones de Mitigación»- Deshabilitar acceso FTP anónimo y restringir el uso del servicio solo a usuarios autenticados.
- Evitar ocultar información sensible mediante esteganografía como mecanismo de “seguridad”.
- Almacenar credenciales de forma segura, utilizando hashes robustos y evitando texto plano o codificaciones triviales.
- No reutilizar contraseñas entre distintos usuarios y servicios.
- Restringir permisos de
sudo, aplicando el principio de mínimo privilegio. - Auditar periódicamente archivos temporales y directorios compartidos como
/tmp.