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
&spm=1001.2101.3001.5002&articleId=149955991&d=1&t=3&u=3b3c9868f1cf43c5add93692a5827ccd)
331

被折叠的 条评论
为什么被折叠?



