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
None

En los resultados obtenemos 3 servicios corriendo, ftp, ssh y http:

None
Resultados

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.

None
Obtención de archivos

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:

None
Directorios web encontrados

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.

None
Usuario encontrado

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.2

Al poco tiempo obtuvimos credenciales válidas, lo cual supone otra mala práctica en configuraciones de seguridad y contraseñas.

None
Credenciales validas

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

None
Acceso por SSH con mismas credenciales

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".

None
contraseña hasheada encontrada

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

None
contraseña crackeada

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

None
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.

None
comando con vim

Obtención de root

None
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.