告别运营商锁机:一条命令开启中兴光猫工厂模式与Telnet远程调试
【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu
家里新装的光猫,管理后台只有孤零零几个选项:改WiFi密码、重启、恢复出厂。想改桥接模式、想查看光功率、想开个Telnet调试口,统统找不到入口。这不是你的问题,而是运营商在定制固件里"藏"起了高级功能。今天要介绍的zteOnu,正是一款通过webFac接口一键开启中兴光猫工厂模式、并顺手永久打开Telnet服务的开源工具,让被阉割的后台重新变得完整。
🔓 先弄明白:光猫为什么会被"锁"住
运营商下发的光猫,固件都经过深度定制。普通用户账号只能看到基础设置,真正的超级管理员权限被隐藏在工厂模式里——你可以把它想象成手机的"开发者模式",或者汽车的隐藏工程菜单。
而这个隐藏入口并非不存在,它就藏在设备内置的webFac服务接口中。zteOnu 做的事情,本质上就是模拟一套完整的认证握手流程,向这个接口发送一串精心构造的请求,让设备误以为"出厂配置流程正在进行",从而交出最高权限的登录凭证。
🧰 工具画像:zteOnu 是什么
zteOnu 用 Go 编写,命令行基于 cobra 框架(入口在cmd/root.go),核心逻辑集中在app/factory/factory.go。整个解锁过程被拆成 5 个可观测的步骤,每一步失败都会自动重试(最多 10 次),对新手非常友好。
它的价值主张很纯粹:不需要拆机、不需要刷机、不需要懂协议,一条命令拿到 root 权限。
⚡ 第一次解锁:从编译到看见"上帝模式"
动手前,先把项目拉下来并编译(需要 Go 环境):
git clone https://gitcode.com/gh_mirrors/zt/zteOnu cd zteOnu go build -o zteonu .然后对着光猫执行最基础的一条命令:
./zteonu -i 192.168.1.1不出意外,你会看到这样的输出:
----------------------------------- step [0] reset factory: ok step [1] request factory mode: ok step [2] send sq: ok step [3] check login auth: ok step [4] enter factory mode: ok ----------------------------------- user: root pass: Zte521这 5 个 step 分别对应握手流程的哪个环节,可以对照下表理解:
| 步骤 | 实际动作 | 通俗解释 |
|---|---|---|
| step 0 | 重置工厂服务 | 先"唤醒"设备的 webFac 服务,提高成功率 |
| step 1 | 请求进入工厂模式 | 向接口发出RequestFactoryMode.gch申请 |
| step 2 | 发送随机数 | 获取会话密钥池(涉及 AES 密钥派生) |
| step 3 | 校验登录身份 | 用telecomadmin账号验证超级管理员身份 |
| step 4 | 进入工厂模式 | 解密返回内容,取出 root 账号与密码 |
到这里,你就拿到了光猫的最高权限凭证(默认root / Zte521),隐藏功能全部解锁。
🛠️ 一条命令让 Telnet 永久常驻
工厂模式只是拿到了"钥匙",真正方便日常调试的是Telnet 服务。zteOnu 支持一次性开启并永久生效,重启光猫也不会失效:
./zteonu -i 192.168.1.1 --telnet工具会先自动登录 Telnet,然后执行一串配置命令,把 Telnet 的各项开关写进设备数据库:
sendcmd 1 DB set TelnetCfg 0 Lan_Enable 1 # 开启 Telnet 服务 sendcmd 1 DB set TelnetCfg 0 TSLan_UName root # 设置登录用户名 sendcmd 1 DB set TelnetCfg 0 TSLan_UPwd Zte521 # 设置登录密码 sendcmd 1 DB set TelnetCfg 0 InitSecLvl 3 # 提升权限等级 sendcmd 1 DB save # 写入数据库,重启不丢失之后设备会自动重启。等它重新上线,用任意 Telnet 客户端连接即可:
telnet 192.168.1.1 23 # 用户名 root,密码 Zte521输入ifconfig、cat /proc/meminfo、ps aux等命令,光猫的真实状态一览无余。
🔬 进阶彩蛋:--new背后的逆向工程
如果你留意过 README,会发现项目还提供了一套"新方法"(--new)。这是老方法在某些新型号上失效后的反向工程成果:开发者逆向分析了设备的校验虚拟机(VM),发现服务端会从SendInfo.gch?info=12载荷中还原客户端 MAC 地址并逐一比对——只有设备认可的 MAC 才能通过认证。
更妙的是,这个 46 字节的载荷结构被完全破解:它由 12 个 little-endian 的uint16值组成,每个值后跟两个固定零字节,MAC 地址则被 XOR 进这些值字节里。zteOnu 因此可以为任意 MAC 动态生成合法载荷,实现逻辑见app/factory/model.go的MacToMagicBytes。
# 用指定网卡的 MAC 生成载荷 ./zteonu -i 192.168.1.1 --new --iface en0 # 或直接指定设备认可的 MAC(如 00:07:29:55:35:57) ./zteonu -i 192.168.1.1 --new -m 00:07:29:55:35:57老方法与新方法的取舍如下:
| 对比项 | 老方法(默认) | 新方法(--new) |
|---|---|---|
| 认证方式 | 账号密码校验 | MAC 校验 + 账号密码 |
| 适用机型 | 早期常见型号 | 校验升级后的新型号 |
| 关键参数 | -u / -p | --iface / -m |
⚠️ 拿到权限之后:请把这些安全功课补上
能力强意味着责任大,解锁后请务必做几件事:
- 立即改密码:
root / Zte521是公开默认值,被人扫描到后果严重 - 更换端口:默认 23 端口极易被嗅探,可用
--tp 2323之类的非常用端口 - 限定网络:只在可信局域网内开启 Telnet,用完及时关闭
- 先备份再动手:任何修改前导出配置,故障时能快速回滚
🚀 下一步:从"被限制的用户"到"设备的主人"
zteOnu 的完整参数都写在cmd/root.go里,包括-u(管理员账号)、-p(密码)、--port(HTTP 端口)、--tp(Telnet 端口),随时可用./zteonu -h查看。项目体量精巧,app/factory、app/telnet、utils三个模块清晰分离,读代码本身就是一次很好的协议学习。
如果你手里正好有一台吃灰的中兴光猫,不妨从上面第一条命令开始——五分钟内,你就会看到一个完全不一样的管理后台。解锁之后,无论是改桥接、调光功率还是做网络诊断,主动权终于回到了自己手里。祝你玩得开心,也记得守住安全底线。
【免费下载链接】zteOnuA tool that can open ZTE onu device factory mode项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考