La máquina Obsession se encuentra en la plataforma de Dockerlabs, msima plataforma creada por "El Pingüino de Mario" esta máquina está catalogada como "MUY FÁCIL" y su creador es "Juan" lo cual la hace un reto idoneo para personas que apenas van iniciando en el hacking ético.
Reconocimiento e inicio
Estas máquinas son desplegadas en entornos controlados por contenedores Docker, por lo cual la dirección siempre a revisar será "172.17.0."
Una vez desplegado el contener comenzamos con un escaneo de versiones y scripts por defecto (aquí omitimos el descubrimiento de puertos y hosts ya que es un entorno interno controlado).
nmap -sCV -Pn -p- --min-rate=4000 --reason -vvv 172.17.0.2 -oN ScriptsObsession
En los resultados obtenemos 3 servicios corriendo, ftp, ssh y http:

Enumeración
En esta fase vamos a identificar versiones, archivos, malas configuraciones entre otros posibles errores por el equipo de desarrollo o de prácticas de seguridad para poder obtener posible acceso.
Al intentar autenticarse al servicio de FTP podemos observar que se tiene acceso anonimo habilitado, lo cual ya señala una mala configuración ante el acceso al servidor.

Como se puede observar en la imagen previa se encontraron 2 archivos con información sensible. "gonza.txt y pendientes.txt"
Al leer dichos archivos nos encontramos con una conversación entre Gonza y Russoski (esto nos puede servir como posibles usuarios a futuro).
En el archivo de "pendientes.txt" se comenta que las configuraciones del servidor son malas y que debe mejorarlas a futuro, por lo que nos dirigimos al sitio web para analizarlo.
Procedemos a enumerar directorios con fuerza bruta, para esto se puede utilizar, dirb, gobuster, ffuf, etc.
Encontrandonos con 2 directorios que llaman la atención:

Al inspeccionar ambos directorios en el directorio de backup, nos encontramos con el archivo backup.txt, el cual nos confirma la existencia del usuario russoski.

Explotación
Siguiendo con lo mencionado y en vista de que no se pudieron encontrar más puntos vulnerables, procedemos a hacer un ataque de fuerza bruta con hydra.
hydra -l russoski -P /usr/share/wordlists/rockyou.txt ftp://172.17.0.2Al poco tiempo obtuvimos credenciales válidas, lo cual supone otra mala práctica en configuraciones de seguridad y contraseñas.

Accediendo por FTP al servidor y haciendo uso de credenciales recicladas obtenemos también acceso a SSH.

Después de analizar algunos archivos, podemos identificar que el historial está visible y aquí se encuentran comandos para visualizar una contraseña en la ruta "/var/www/html/important/" archivo ".root-passwd.txt".

Analizando el hash con hashid nos da resultados sobre un hash de MD5, para hacer más rápido y sencillo el proceso hicimos uso de crackstation

Con esto simplemente hacemos un "su" lo cual nos pedirá la contraseña y ya seremos root.

MÉTODO 2
Haciendo uso de enumeración por post-explotación, podemos encontrar que vim está con permisos de sudo en la ejecución para todos los usuarios.
si lo ejecutamos como root podemos obtener también la escalación.

Obtención de root

Mitigaciones
Entre las mitigaciones a aplicar en un entorno empresarial o real podemos:
- Hacer uso de gestores de contraseñas para el almacenamiento seguro de contraseñas.
- Hacer uso de políticas seguras para generación de contraseñas, ya que es una contraseña extremadamente fácil de brute forcear.
- Eliminar el historial de comandos.
- Restablecer los privilegios actuales, entre otras palabras uso de privilegios mínimo.