说说NX54 新Telnet(无具体方案)
前言
距上一篇折腾 NX54 的文章差不多过去一年了。
去年有同用 NX54 的朋友跟我倒苦水,说路由器升级到官方新版(R013)之后,原本用得好好的 Telnet 彻底打不开了。他之所以需要这个权限,其实和我一样,主要是因为官方固件自带的 IPv6 防火墙太死板,只能全开或者全关,没法给内网某台 NAS 或服务器单独放行端口,必须得靠脚本写自定义 ip6tables 规则。
我立刻把自己的 NX54 固定在 R012,日常跑得挺稳,所以一直没升。但也好奇:官方发个大版本把调试口封死,甚至还加了防降级限制,底层到底改了些什么?
新版固件到底改了哪儿?
先说结论:底层的 Telnet 一点没变,官方只是在门外加了把锁。
1. telnetd 基本没变
telnetd是telnet服务端程序,启动方式几乎没变。
只不过入口处的 debug.asp 页面改了。以前进调试页面点个开关就能启动,新版本里点开启需要输一个动态密码。这个密码是根据机器的硬件信息、用户信息算出来的,也就是“一机一密”。普通用户没密码,自然就打不开了。
2. 之前写的开机固化为什么失效了?
之前在H3C NX54路由器如何永久开telnet中提过,大家可以通过修改配置把 telnetenable=enable 固化下来,实现重启也能自动开 Telnet。
新固件加了一道检测:开机读取配置时,系统会检查设备的一个出厂标识。只要这台路由器是正常出厂的量产机,不管你的配置表里有没有开 Telnet,telnetd的脚本都会强制跳过,直接不予启动。
3. 防降级限制
新固件在 Web 升级逻辑里写死了最低版本号。一旦升到了 R013 或 R014,想在 Web 页面直接刷回 R012 固件就会提示版本过低拒绝刷入,把降级的路给堵了。
telnet依然是老味道
从R012上梳理一下调用的链路,R013其实一样。
1 | Web 触发 |
新老版本的 telnet和mwcli 在这块逻辑上一模一样,官方根本没碰这部分内容。
是怎么回事?
官方突然花心思把 telnet 入口封死,现在看,猜核心原因就是因为被报了漏洞——2025 年 6 月收录的 CNVD-2025-13489。
漏洞描述写得挺吓人:NX54 存在远程命令执行漏洞,而且评级是 “无需口令 / 未授权”。但因为没有公布具体方式,也没办法验证。我不明白这个漏洞怎么产生的,我自己还是R012,尝试从开telnet请求到mwcli,除非之前登录过,一直没绕过鉴权,可能还是没找到对点,或者需要恢复出厂设置。漏洞是个高危,一但入库,厂家必须修改。但从固件的行为来看,怎么改,堵上telnet就行了。。
总结
- 客服一律不提供telnet密码,之前刚封死 telnet 的时候,我也跟着朋友骂厂家。现在看来,多少有点错怪他们。
- CNVD-2025-13489在我眼里,感觉更像是一个KPI漏洞,但因为它是个高危评级,厂家只能修复,所以才有了堵死telnet的操作。
- 既然厂家做了这套规则,尊重规则。口令的具体算法,为了避嫌,不能在这里公开,但如果有朋友特别需要telnet,可以找我协助,一机一密只能自用。
- 也希望厂家高抬贵手,好用的路由器不好碰,别再加堵了,给点DIY活路。