Injection
Introducción
En este artículo, explicaré cómo resolví el CTF de la máquina virtual Trust. 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: El Pingüino de Mario
- Nivel de Dificultad: Muy Fácil
- Descripción: Fecha de creación: 09/04/2024
Paso 0: Instalación/Despliegue
- Descargamos la máquina desde la web de DockerLabs (opens in a new tab).
- Descomprimimos él .zip
unzip Injection.zip
- ejecutamos el archivo de bash
sudo bash auto_deplo.sh Injection.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 Injection
cd Injection
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 -p80 172.17.0.2 -oN targeted
Resultado:
Enumeración de Servicios
Ahora se enumeran los directorios de la página web que descubrimos por tener abierto el puerto 80.
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
Resultados:
Esto nos da un archivo llamado config.php al que no podemos acceder, parece que lo más viable es intentar hacer una Sqli al login que aparece en el index el cual es este:
Paso 2: Explotación
En el login intentamos acceder con los siguientes datos "admin' or 1=1-- -" para que este siempre nos dé como verdadero y la contraseña puede ser cualquiera a nuestra elección
Con esto conseguimos sobrepasar el login y nos da la info siguiente:
Proseguimos intentando iniciar sesión por ssh con los datos previos, lo cual logramos hacer exitosamente
Elevación de Privilegios
El primer comando para la elevación de privilegios es:
sudo -l
El cual nos da un error, ya que el comando sudo no se encuentra disponible en la máquina
La siguiente parte es buscar los permisos SUID en el sistema con:
find / -perm -4000 2>/dev/null
esto nos da algunas posibilidades de explotación
Después de esto usamos la herramienta searchbins
que nos facilita el acceso a GTFOBins
.
searchbins -b env -a
Ahora solo falta escribir el comando que nos arroja, el cual es:
/usr/bin/env /bin/bash
Con el cual ya tenemos usuario administrador
Notas
- La máquina tuvo el nivel de dificultad esperado, o sea muy fácil