CVE-2025-54424:1Panel远程代码执行漏洞深度分析(附检测脚本)

CVE-2025-54424:1Panel远程代码执行漏洞深度分析(附检测脚本)

漏洞概述

漏洞名称:1Panel Agent TLS证书验证绕过漏洞(CVE-2025-54424)

威胁等级:高危(可远程代码执行)

影响版本:1Panel ≤ v2.0.5

攻击场景:攻击者可伪造证书绕过认证,通过WebSocket接口完全控制服务器(如反弹Shell、植入挖矿程序等)。

1. 漏洞背景

1Panel 是国内流行的开源服务器运维面板(GitHub 20k+ Stars),其 v2.0 版本引入了分布式节点管理架构(Core端控制多个Agent端),方便中小企业管理多台服务器。

但正是这个架构的核心通信模块存在严重缺陷,导致攻击者可以伪造证书绕过认证,进而控制服务器。

2. 漏洞深度分析

(1)致命缺陷:形同虚设的证书验证

1Panel 的 Agent(默认端口9999)与Core端通信时采用HTTPS,但存在两个严重问题:

1. 验证模式错误

 错误方式:

"tls.RequireAnyClientCert"(仅要求客户端提供证书,但不验证CA是否合法)。

正确方式:应该用 

"tls.RequireAndVerifyClientCert"(严格验证证书的CA和合法性)。

2. 校验逻辑失效

只检查证书的 CN字段是否为 "panel_client",但完全不管证书的颁发者、有效期等关键信息。

攻击者可以伪造一个CN="panel_client"的证书,轻松绕过认证!

(2)攻击路径

一旦攻击者绕过证书验证,就可以通过 WebSocket接口 控制服务器,包括:

进程管理(启动/停止/删除系统进程)

SSH终端控制(直接操作服务器命令行)

容器生命周期管理(控制Docker/K8s等容器)

文件系统操作(读写/删除服务器文件)

最终效果:攻击者可以获得 root权限,执行任意命令(如反弹Shell、植入挖矿程序等)。

3. 漏洞复现(已成功验证)

(1)测绘语句(用于发现漏洞目标)

FOFA:

查询证书主体组织为 FIT2CLOUD 且端口为 9999 的资产:

cert.subject_org="FIT2CLOUD" && ip.port="9999"

查询证书主体字段包含 panel_server 的资产:

cert.subject="panel_server"

Hunter:

cert.subject.org="FIT2CLOUD" && port="9999" && protocol="tls" || cert.subject.cn="panel_server"  

(2)检测&利用脚本

脚本下本

"CVE-2025-54424.py"

使用方法:

# 检测单个目标

python CVE-2025-54424.py -u 192.168.1.2:9999

# 批量检测(目标列表文件)

python CVE-2025-54424.py -f targets.txt -o results.txt

依赖安装:

pip install websocket-client cryptography PySocks requests

4. 影响范围

所有 ≤ v2.0.5 的1Panel版本均受影响,特别是:

✅ 开放了9999/TCP端口到公网

✅ 没有配置IP白名单防火墙

✅ 没有升级到最新版本(v2.0.6+)

5. 修复方案

(1)终极方案(推荐)

升级到 1Panel v2.0.6(官方已修复证书验证逻辑)。

(2)临时加固措施

如果暂时无法升级,可以采取以下措施:

1. 限制访问IP(防火墙)

ufw allow from 192.168.1.0/24 to any port 9999

2. 修改默认端口(降低扫描风险)

sed -i 's/9999/自定义端口/g' /opt/1panel/conf/app.conf

systemctl restart 1panel

6. 结语

这个漏洞由于架构设计缺陷 + 高危接口暴露,已经被证实存在大规模攻击风险!

运维团队请立即自查,避免服务器沦为黑客肉鸡!

📥 检测脚本获取

要是进不去,多从新进

使用方法:

1. 安装依赖:

"pip install websocket-client cryptography PySocks requests"

2. 运行脚本:

python CVE-2025-54424.py -u 目标IP:9999

参数说明:

"-u URL":检测单个目标

"-f FILE":批量检测(目标列表文件)

"-o OUTPUT":保存扫描结果

"-t THREADS":设置并发线程数

"--proxy PROXY":设置代理(如 

"http://127.0.0.1:8080")

🔒 安全建议

尽快升级到 1Panel v2.0.6

不要将9999端口暴露在公网

使用防火墙限制访问IP

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值