
Bienvenidos una vez más, hoy os guiaré a través de la máquina “Editor”:
Reconocimiento básico Link to heading
Ejecutando un escaneo nmap, nos encontraremos con un conjunto relativamente normal de puertos, 22, 80 y sorprendentemente 8080:

Comprobando dentro del puerto HTTP, no hay nada fuera de lo normal, aparte de un enlace de “Docs”. Puede que tengas la tentación de intentar utilizar ingeniería inversa contra los paquetes de editores de texto ofrecidos, pero no te llevarán a ninguna parte.

Dirigiéndonos al enlace “Docs”, descubrimos que la página de documentación está ejecutando XWiki en el backend tras el nombre de subdominio “xwiki.editor.htb”, y mirándolo más de cerca, ¡incluso nos dice la versión de XWiki que se está utilizando!


Ganando un punto de apoyo Link to heading
Buscando exploits relacionados con la versión de XWiki en línea, encontramos un PoC para una vulnerabilidad RCE relacionada con CVE-2025-24893 que podemos usar contra la máquina.

Recuerda estabilizar la shell inversa con los siguientes comandos:
python3 -c "import pty;pty.spawn('/bin/bash')" export TERM=xterm # Pulsa Ctrl+Z stty raw -echo; fg
Como puedes ver, obtenemos inmediatamente una shell al ejecutar el exploit, sin embargo, solo somos el usuario “xwiki”, lo que significa que aún no tenemos acceso a la bandera user.txt.
Un buen lugar para empezar a buscar pistas es la base de datos, pero para eso primero necesitamos las credenciales de la base de datos MySQL que ejecuta el servicio XWiki. Y después de un rato buscando, finalmente encontramos un archivo que contiene exactamente estas mismas credenciales en /etc/xwiki/hibernate.cfg.xml
.

Si tu primer instinto fue intentar comprobar las bases de datos MySQL, probablemente te diste cuenta de que no había nada útil dentro de estas, y eso es porque se trata de un caso de reutilización de credenciales, lo que significa que la contraseña de la base de datos es la misma que la contraseña del usuario.

Como puedes ver, podemos entrar directamente y obtener la bandera user.txt.
PrivEsc Link to heading
Después de realizar comprobaciones preliminares como sudo -l
, puede que te des cuenta de que nuestro usuario está dentro del grupo “netdata”, y al intentar buscar archivos relacionados con ese grupo encontramos esto:

Investigando un poco en Internet sobre qué es eso de “netdata”, descubrimos que es un servicio de métricas y que se aloja regularmente en el puerto 19999.


Comprobando la salida de netstat -tln
podemos ver el puerto exacto visto anteriormente expuesto a localhost, lo que significa que necesitaremos usar SSH forwarding para acceder al servicio usando el siguiente comando:
ssh -L 19999:127.0.0.1:19999 oliver@editor.htb
Inmediatamente después de acceder a localhost:19999
, nos aparece el servicio y una advertencia muy particular sobre un “nodo obsoleto”:


Mirando la alerta, parece que esta versión de netdata está desactualizada y es potencialmente vulnerable, así que empezamos a buscar exploits y encontramos este exploit originado en CVE-2024-32019.
Tras seguir las instrucciones del repositorio, escalamos con éxito nuestros privilegios y obtenemos la bandera root.txt!
