Psycho
Introducción
Sección titulada «Introducción»En este artículo explico cómo resolví el CTF de la máquina virtual Psycho, creada por Luisillo_o. A continuación, detallo paso a paso las herramientas y técnicas utilizadas para identificar y explotar las vulnerabilidades de la máquina.
Información de la Máquina Virtual
Sección titulada «Información de la Máquina Virtual»- Nombre: Psycho
- Autor: Luisillo_o
- Nivel de Dificultad: Fácil
- Fecha de creación: 10/08/2024
Paso 0: Instalación / Despliegue
Sección titulada «Paso 0: Instalación / Despliegue»-
Descargamos la máquina desde DockerLabs.
-
Descomprimimos el archivo
.zip:Ventana de terminal unzip Psycho.zip -
Ejecutamos el script de despliegue:
Ventana de terminal sudo bash auto_deplo.sh Psycho.tar
Paso 1: Reconocimiento
Sección titulada «Paso 1: Reconocimiento»Escaneo de la Red
Sección titulada «Escaneo de la Red»Al iniciar la máquina, se muestra su dirección IP directamente. Por lo tanto, no es necesario realizar un escaneo ARP.

Creamos una estructura de carpetas para organizar el entorno:
mkdir Psychocd Psychomkt # Crea: content, exploits, nmap, scriptsEscaneo de Puertos
Sección titulada «Escaneo de Puertos»Realizamos un escaneo completo:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPortsExtraemos los puertos abiertos:
extractPorts allPorts
Detección de Servicios
Sección titulada «Detección de Servicios»Analizamos los puertos detectados (22 y 80):
nmap -sCV -p22,80 172.17.0.2 -oN targeted
Enumeración Web
Sección titulada «Enumeración Web»Enumeramos directorios visibles en el servicio HTTP:
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,js -t 200
Se detectan dos rutas:
index.php: contiene una interfaz simple.assets/: solo contiene la imagen de fondo.


Observamos un posible fallo en index.php, al no recibir el parámetro adecuado. Usamos ffuf para descubrirlo:

Descubrimos el parámetro secret. Probamos un path traversal:
http://172.17.0.2/index.php?secret=/etc/passwd
Identificamos dos usuarios: luisillo y vaxei. Navegando por sus archivos encontramos una llave RSA, útil para acceder por SSH.

Paso 2: Explotación
Sección titulada «Paso 2: Explotación»Usamos la clave privada RSA para conectarnos como vaxei vía SSH:
ssh vaxei@172.17.0.2 -i id_rsa
Ya dentro del sistema, ejecutamos:
sudo -lEsto nos indica que podemos cambiar a luisillo mediante sudo.

Elevación de Privilegios
Sección titulada «Elevación de Privilegios»Ahora como luisillo, volvemos a ejecutar:
sudo -l
Se nos permite ejecutar un script sin necesidad de contraseña, pero al hacerlo da error. No tenemos permiso de escritura, sin embargo, al eliminarlo y recrearlo con un payload controlado, logramos acceso como root.

Conclusión
Sección titulada «Conclusión»La máquina Psycho cumple con el nivel de dificultad anunciado. Resultó útil para practicar:
- Enumeración web.
- Explotación por path traversal.
- Uso de claves SSH.
- Escalada de privilegios mediante binarios mal configurados en
sudo.