DevArea
Executive summary — DevArea chains four separate services, each opening the door to the next. A Java
.jarpulled over anonymous FTP turns out to be a SOAP service vulnerable to CVE-2022-46364 (Apache CXF), giving unauthenticated arbitrary file read. That leaks Hoverfly credentials, whose "middleware" system runs a local command for every request passing through its proxy — trivial RCE once inside. The final escalation is subtler: an internal Flask GUI whose session is forged with a leakedSECRET_KEY, vulnerable to command injection, which ultimately abuses a symlink chain to bypass a sudo-enabled script's anti-symlink filter.
| Platform | Hack The Box |
| Operating system | Linux |
| Difficulty | Medium |
| Status | Retired |
| Target IP | 10.129.244.208 |
Attack map
[21] Anonymous FTP — employee-service.jar (Apache CXF/SOAP)
│ CVE-2022-46364 — XXE/MTOM (xop:Include) → arbitrary file read
│ leaks /etc/systemd/system/hoverfly.service → admin:O7IJ27MyyXiU
▼
[8888] Hoverfly (middleware RCE, runs as dev_ryan)
│ plants an SSH key → dev_ryan (user.txt)
▼
[SSH] dev_ryan
│ sudo NOPASSWD /opt/syswatch/syswatch.sh (denylist web-stop/web-restart)
│ /etc/syswatch.env leaks the Flask SECRET_KEY
▼
[GUI] SysWatch (Flask, 127.0.0.1:7777, user syswatch)
│ session cookie forged with the leaked SECRET_KEY
│ command injection in /service-status (weak regex + shell=True)
▼
[RCE] syswatch
│ symlink chain in "logs" bypasses syswatch.sh's anti-symlink filter
▼
[ROOT] sudo syswatch.sh logs → arbitrary read as root → root.txt
1. Reconnaissance
nmap -sT -p- --min-rate 3000 -T4 -Pn -oN m4_allports.txt 10.129.244.208
nmap -sT -sCV -p21,22,80,8080,8888 -Pn -oN m4_services.txt 10.129.244.208
21/tcp open ftp vsftpd 3.0.5 (Anonymous FTP login allowed; dir 'pub')
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.15
80/tcp open http Apache httpd 2.4.58 (redirect -> http://devarea.htb/)
8080/tcp open http Jetty 9.4.27.v20200227 (404 at /)
8888/tcp open http Golang net/http (Hoverfly Dashboard)
Key services to explore: anonymous FTP, Jetty (8080, a Java app) and Hoverfly (8888, a legitimate API-mocking tool with its own dashboard).
curl -s "ftp://anonymous:anon@10.129.244.208/pub/"
# -rw-r--r-- 1 ftp ftp 6445030 Sep 22 2025 employee-service.jar
curl -s -o employee-service.jar "ftp://anonymous:anon@10.129.244.208/pub/employee-service.jar"
curl -s http://10.129.244.208:8888/api/health # 200
curl -s http://10.129.244.208:8888/api/v2/hoverfly # 401 (requires auth)
Hoverfly's v2 API requires authentication → credentials are needed, presumably from the downloaded
.jaror some other file on the system.
Resumen ejecutivo — DevArea encadena cuatro servicios distintos, cada uno abriendo la puerta al siguiente. Un
.jarJava descargado por FTP anónimo resulta ser un servicio SOAP vulnerable a CVE-2022-46364 (Apache CXF), que da lectura arbitraria de ficheros sin autenticación. Con eso se filtran las credenciales de Hoverfly, cuyo sistema de «middleware» permite ejecutar comandos locales por cada petición que pasa por su proxy — RCE trivial una vez dentro. La escalada final es más sutil: una GUI Flask interna cuya sesión se forja con unaSECRET_KEYfiltrada, vulnerable a inyección de comandos, que finalmente abusa de una cadena de symlinks para saltarse el filtro anti-symlink de un script consudo.
| Plataforma | Hack The Box |
| Sistema operativo | Linux |
| Dificultad | Medium |
| Estado | Retired |
| IP objetivo | 10.129.244.208 |
Mapa del ataque
[21] FTP anónimo — employee-service.jar (Apache CXF/SOAP)
│ CVE-2022-46364 — XXE/MTOM (xop:Include) → lectura arbitraria de ficheros
│ filtra /etc/systemd/system/hoverfly.service → admin:O7IJ27MyyXiU
▼
[8888] Hoverfly (middleware RCE, corre como dev_ryan)
│ planta clave SSH → dev_ryan (user.txt)
▼
[SSH] dev_ryan
│ sudo NOPASSWD /opt/syswatch/syswatch.sh (denylist web-stop/web-restart)
│ /etc/syswatch.env filtra la SECRET_KEY de Flask
▼
[GUI] SysWatch (Flask, 127.0.0.1:7777, user syswatch)
│ cookie de sesión forjada con la SECRET_KEY filtrada
│ command injection en /service-status (regex débil + shell=True)
▼
[RCE] syswatch
│ cadena de symlinks en "logs" bypassa el filtro anti-symlink de syswatch.sh
▼
[ROOT] sudo syswatch.sh logs → lectura arbitraria como root → root.txt
1. Reconocimiento
nmap -sT -p- --min-rate 3000 -T4 -Pn -oN m4_allports.txt 10.129.244.208
nmap -sT -sCV -p21,22,80,8080,8888 -Pn -oN m4_services.txt 10.129.244.208
21/tcp open ftp vsftpd 3.0.5 (Anonymous FTP login allowed; dir 'pub')
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.15
80/tcp open http Apache httpd 2.4.58 (redirect -> http://devarea.htb/)
8080/tcp open http Jetty 9.4.27.v20200227 (404 en /)
8888/tcp open http Golang net/http (Hoverfly Dashboard)
Servicios clave a explorar: FTP anónimo, Jetty (8080, una app Java) y Hoverfly (8888, una herramienta legítima de simulación de APIs con su propio dashboard).
curl -s "ftp://anonymous:anon@10.129.244.208/pub/"
# -rw-r--r-- 1 ftp ftp 6445030 Sep 22 2025 employee-service.jar
curl -s -o employee-service.jar "ftp://anonymous:anon@10.129.244.208/pub/employee-service.jar"
curl -s http://10.129.244.208:8888/api/health # 200
curl -s http://10.129.244.208:8888/api/v2/hoverfly # 401 (requiere auth)
La API v2 de Hoverfly exige autenticación → hacen falta credenciales, que en principio tendrán que llegar del
.jardescargado o de algún otro fichero del sistema.
This content is Root Access only. Everything else on the site — the free tier, the whole public library — stays open.
See Root Access plansNo account? Create one free then upgrade from your console.
Este contenido es solo para Root Access. Todo lo demás del sitio — el nivel gratuito, toda la biblioteca pública — sigue abierto.
Ver planes de Root Access¿Sin cuenta? Crea una gratis y luego mejora desde tu consola.