Jarvis's Blog

白帽子、全栈、IoT安全专家、嵌入式系统专家

天翼网关3.0(中兴F650 4.0)光猫破解方法(无需拆机)

2021-4-4更新:

鉴于很小伙伴发邮件给我让我帮忙解密配置文件,考虑到需求量还比较大,为此专门做了一个光猫配置文件在线加解密工具,各种型号会陆续支持,欢迎大家支持一下提提建议:https://www.jarvisw.com/onutools

2021-3-21更新

有外省小伙伴说重置无效,不会恢复默认密码,为此我又仔细分析了一下光猫的固件,发现在/etc/restore_cfg.json文件里配置了每个省的RESET策略,比如有的省RESET时就会清除LOID和默认配置,有的省只清除配置,不清除LOID,只有满足不清除LOID且清除配置的省份才能使用此方法。满足条件的省份只有重庆浙江。其他省份我再研究研究,日后有新方法会继续更新。

===============以下原正文============

最近小伙伴家里新装了一条电信宽带,目前浙江电信新装的宽带给的光纤猫已经是最新款的中兴F650了,硬件版本4.0,软件版本V3.0.0P1T1,如下图:

经过一些资料查找,普遍显示这个光纤猫是21年新出的款,目前网上还没找到现成的破解资源,之前切换地区的版本入口也已经被删,移动存储U盘越权读文件的漏洞也已经被修复,而且TTL console也被关闭了,当进入系统时就没有输出了。虽然万能的淘宝已经有远程破解了,无奈卖家要收100元,要知道这个光猫本身才120啊。本着探究精神研究了一下,发现了不少有意思的东西,为了造福大家,我把破解方法先放出来,供大家参考。

第一步:拔掉光纤(因为当ONU设备注册上网络的时候,电信远端会通过tr069协议管理每个端设备,如果不拔掉一旦连上网超管密码就会被修改),按RESET(最新的4.0版本光猫重置不会丢失拨号,LOID、VOIP和TV的配置,不用担心,只是会把默认telecomadmin的密码恢复为出厂值而已),当看到所有灯亮起即表示重置成功。这时候telecomadmin的密码就会被恢复成默认密码nE7jA%5m。

备注:网上已经有很多人用这种方法进去改桥接以及修改配置了,但是主要麻烦的点是每次插上光纤注册网络之后,密码就会被改掉,下次还想去改其他配置又得重新RESET,有点麻烦,所以本文接下来给出的就是怎样持久化获得telecomadmin的权限,有需求的继续看即可。

第二步:找一个U盘(最好格成NTFS文件系统,其他的比如exFAT会识别不出来),插在光猫边上的USB口上,然后用默认的telecomadmin密码登录后台,点击管理->设备管理,如下图,这里有一个备份配置文件到U盘的功能,如果U盘正常识别的话在USB分区选择里面会出现/USB_disc1这种选项,如果是空的说明U盘没识别出来,这一步我们点击“备份配置”,就会在U盘根目录下生成一个e8_Config_Backup文件夹,里面会有一个cfg文件。不过是加密的。如下图。

第三步:解密/修改配置文件打开telnet,这一步是关键,因为这一代的加密和之前的光猫都不同,目前网上还无法找到这一款光猫的配置文件加解密工具,需要自己进行修改,不过我在github上找到一个项目zte-config-utility,虽然并不能解密我这一款光猫的配置文件,但是大部分代码都还可以复用,经过对光猫固件的逆向工程,发现只需要修改小部分即可,为了防止奸商窃取代码拿去淘宝卖,具体细节我这里先不放出代码,如果有需要的我可以友情支持一下,解密之后在配置文件里找到下面这一段:

这里就是telnet的默认配置了,我们直接把Lan_Enable改成1,InitSecLvl改成3,然后保存,重新加密之后,放回U盘根目录里的e8_Config_Backup文件夹(注意不要改原来cfg的文件名,保持和之前备份的文件名完全一致)

第四步:恢复配置文件,插上U盘,在后台找到刚才备份的地方,在快速回复后面的勾打上,然后点页面最底下的重启按钮即可。

重启完成之后,光猫的telnet就被永久打开了,然后我们插上光纤,正常注册网络,这时候telecomadmin的密码就会被电信修改为新密码。

第五步:获取电信修改后的新密码,以方便以后登录后台操作。因为之前我们开了telnet,所以这时候可以直接telnet上去就操作。但是问题是,以前telnet上去通过常规方法是发送命令sendcmd 1 DB p DevAuthInfo来获取登录密码,但是这种方法早就不行了,获取到的内容里面用户名密码全是”*******”。这之后应该这样操作,插上U盘之后执行命令cp /userconfig/cfg/db_user_cfg.xml /mnt/USB_disc1/,然后通过和第三步同样的方法解密db_user_cfg.xml之后,就可以获得电信修改过之后的telecomadmin密码,方便以后登录,如下图:

到此,这款光猫就被完全破解了。

后记

后来我在网上发现了一个文章http://www.chinadsl.net/thread-167247-1-1.html,大概意思就是就是中兴原厂有一个使能telnet的工具叫做factorymode.exe,就是可以临时开启telnet,只要是中兴的光猫都可以开启,很多人说淘宝的远程破解都是利用这个工具做的,网上找了一圈很难下到,问了很多人要么就是要卖我2000元,要么就是不给。对此我对固件再做了一些逆向工程,发现中兴真的留了这样一个相当于后门的东西,经过仔细逆向协议之后,终于用python自己写了一个程序实现了类似的功能:

执行之后就会返回:FactoryModeAuth.gch?user=Jpm5OUE2&pass=5F9eJtrA,这里telnet就会打开并且把用户名/密码设成随机值返回回来。

不过这个就不太好用,只要重启光猫telnet就又要重新开,还是前面我这种直接改配置文件的方法比较持久一点,由于这个方法影响中兴全系列光猫,暂时不打算放出细节。奸商就不要找我了,对于普通用户来说,前面公布的方法已经足够使用。

关于新版本内核(4.17+)以后无法使用jprobe的替代方案

上一篇

今天修复了网站的留言功能

下一篇
评论
发表评论 说点什么
    • 不应该啊,我看所有地区恢复默认密码都是这个,你要不光猫正反面拍个照发我邮箱看看?

    • 是同款,不应该啊。浙江这表好多人重置之后都可以的。可能不同地区的默认密码不同,浙江地区都是可以的,其他地区的我再看看。

    • F450 4.0 生产日期2021年1月,拔光纤按RESET键等灯闪后如果放开,不回恢复,连我设的useradmin密码及无线密码都没有还原。如果按RESET键等灯闪4次后不再闪全亮时放开,那么就恢复出厂了,Loid及配置都没有了。此时用户密码为telecomadmin和nE7jA%5m,可以通过U盘导出配置文件,但是从网上找的ztecfg.py解不了此配置文件、报错。它好像对3.0版的配置文件有效,对4.0版的不行。

    • 破案了,进一步分析了一下,我发现各地的Reset策略是不一样的,浙江地区的reset会清除密码,但是像湖北,策略就不一样,按RESET按键不会清除密码,我贴出来大家可以对比一下:
      湖北的:
      "Hubei": { "RegionCode": "211", "KeyRestoreLocal": { "IsRmTr069EnvFile": "0", "IsSameAsRemote": "0", "IsDelLoid": "0", "IsClearAllCfg": "0" }, "KeyRestoreRemote": { "IsRmTr069EnvFile": "1", "IsDelLoid": "0", "IsClearAllCfg": "0" }, "MediaRestoreLocal": { "IsRmTr069EnvFile": "0", "IsSameAsRemote": "0", "IsDelLoid": "0", "IsClearAllCfg": "0" }, "MediaRestoreRemote": { "IsRmTr069EnvFile": "1", "IsDelLoid": "0", "IsClearAllCfg": "0" }
      浙江的:
      "Zhejiang": { "RegionCode": "214", "KeyRestoreLocal": { "IsRmTr069EnvFile": "1", "IsSameAsRemote": "0", "IsDelLoid": "0", "IsClearAllCfg": "1", "IsDelAuditKjwlPlugin": "1" }, "KeyRestoreRemote": { "IsRmTr069EnvFile": "1", "IsDelLoid": "0", "IsClearAllCfg": "1", "IsDelAuditKjwlPlugin": "1" }, "MediaRestoreLocal": { "IsRmTr069EnvFile": "1", "IsSameAsRemote": "0", "IsDelLoid": "0", "IsClearAllCfg": "1", "IsDelAuditKjwlPlugin": "1" }, "MediaRestoreRemote": { "IsRmTr069EnvFile": "1", "IsDelLoid": "0", "IsClearAllCfg": "1", "IsDelAuditKjwlPlugin": "1" } },

    • 这款不知道网上有没有现成的加解密工具,我是自己写的,你要不找找?找到了可以告诉我。

  • 山东表示很淦, 想进去绑定ip和mac呢, 网上找了一大圈也没找到

  • 喵星人不吃鱼

    获取密码那一段,应该不用这么麻烦,有telnet可以直接把管理员用户的密码改掉或者把普通用户直接提权,sendcmd 1 DB set DevAuthInfo 0 Pass admintelecom类似这种把管理员密码直接修改成adminteleadmin就好用了

    • 你修改了电信过段时间又会重新给你改回去的,你每次重改还是挺麻烦的。

    • 喵星人不吃鱼

      改掉之后可以进去删除tr069就行了,删除按钮灰色但有个古老的bug就是F12去掉disable

    • 谢谢!我用telnet 把useradmin和密码输入却显示access denied 应该是无权限,是不是我在前面再次重置有关系.

    • 你打开我发给你那个xml,搜索telnet,然后telnet的登录用户名是user,然后密码你里面自己看下是多少,ZTEG开头的那个

    • 谢谢!刚按你的方式已经下载了db_user_cfg,再帮忙解下,感恩!!

  • 你好,能不能用文末的zte_opentelnet.py帮我远程开启telnet,远程完删除文件就行,谢谢

  • 是山东的,重置虽然会清除LOID,但是已经拿到了LOID就可以用本文方法吧?

  • 新光猫点击快速装修入口只有设备注册,没有电信登录页面?怎么搞?

    • 随便填个LOID点注册,过一段时间直接关掉就行,然后192.168.1.1就可以登了

  • 你好,山东地区只想打开upnp 功能。可以通过拔了光纤,重置光猫进入设置不?

    • 关闭的啊…以前是天邑的光猫。要进去开启。刚换的F650 。山东版本拔光纤后reset ,影响使用不?

    • 闲鱼5块钱买到超级密码了。upnp 是没打开的。

    • 你买的是可以直接告诉你的那种吗?还是要远程到你机子上破解?

    • 随便提供任何一个信息。宽带账号,loid, 光猫信息。一秒钟给你密码那种。估计电信内部的…要不然就是密码生成有规律……

    • 稻草人

      武汉地区的 淘宝10元直接密码 估计是电信后台运维的

  • 浙江电信的中兴ZXHN F650 (硬件3.0,软件V2.0.3P1T4),用您的办法能破解吗?人在外地,先问一下。

  • 似乎4.0对内部文件做了只读保护,/目录下都只读,虽然可以mount -o remount -rw /,增加写权限,但我发现只要新增任何的文件或目录名,机器重启以后就挂了,现象就是只亮电源和插网线的等,长亮,reset键没有任何作用,好像变砖了,不知道博主有没有碰到过这种情况,有没有救活的办法?

    • 这款的ttl接口我都不知道在哪?博主有没有相关的图?f450 4.0

    • 参考一下:最右边那个是GND,其他几个孔你自己试试就可以。要自己焊针。ttl可以进uboot

    • 已经摸清楚f450 v4的ttl接口,现在进了uboot,救砖思路不清楚,想跟博主求教,有思路或者有什么文章可以参考吗?

    • 配合你的图,从左向右,第一个孔不用管,第二个是RXD,第三个是TXD ,第四个是GND。

    • 找到方法了。载入0uImage文件, setenv bootargs console=$(console) root=/dev/mtdblock12 ro rootfstype=jffs2 mem=$(memsize); fsload 0uImage; 强制启动 bootm 0x42000000" 谢谢博主

    • 再次请教楼主,我目前每次启动都需要uboot手动启动,应该是之前修改了文件导致crc校验失败。您知道如何替换crc的值吗?或者有什么办法可以自动绕过crc校验?我看了一下,有人分析这个问题,可以替换crc。但照着做发现依然呢有问题。http://www.chinadsl.net/forum.php?mod=viewthread&tid=168275&extra=&page=1。我在uboot下操作md的时候,总是卡死或者制定内存地址但每次都从头输出,停滞在这里了。

    • 楼主好,等候您多时,我现在也在尝试刷固件,我又买了只新猫,想提取固件: / # cat /proc/mtd dev: size erasesize name mtd0: 10000000 00020000 "whole flash" mtd1: 00200000 00020000 "u-boot" mtd2: 00200000 00020000 "others" mtd3: 00200000 00020000 "parameter tags" mtd4: 00200000 00020000 "wlan" mtd5: 00800000 00020000 "usercfg" mtd6: 01000000 00020000 "framework" mtd7: 01000000 00020000 "framework1" mtd8: 00600000 00020000 "dbus" mtd9: 02600000 00020000 "kernel1" mtd10: 02600000 00020000 "kernel2" mtd11: 07d00000 00020000 "plugin_data" mtd12: 025e0000 00020000 "rootfs" / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd2 of=/mnt/USB_disc1/rom/others.bin 4096+0 records in 4096+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd3 of=/mnt/USB_disc1/rom/parameter_tags.bin 4096+0 records in 4096+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd4 of=/mnt/USB_disc1/rom/wlan.bin 4096+0 records in 4096+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd5 of=/mnt/USB_disc1/rom/usercfg.bin 16384+0 records in 16384+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd6 of=/mnt/USB_disc1/rom/framework.bin 32768+0 records in 32768+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd7 of=/mnt/USB_disc1/rom/framework1.bin 32768+0 records in 32768+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd8 of=/mnt/USB_disc1/rom/dbus.bin 12288+0 records in 12288+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd9 of=/mnt/USB_disc1/rom/kernel1.bin 77824+0 records in 77824+0 records out / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd10 of=/mnt/USB_disc1/rom/kernel2.bin 接下来,我不知道怎么能把这些bin变成可刷回去的固件,请教您了!!

    • 格式乱,不好编辑,给您添麻烦了,总之就是执行了: / # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd1 of=/mnt/USB_disc1/rom/u-boot.bin 这样的命令, 保存了一堆bin文件,现在不知道怎么刷回去。

    • 主要是不知道哪里搞来f460 v4的固件,您如果有发一份给我,我刷回来应该就ok了。或者怎么从活猫里面提取?我手里还有一个活的

    • 感谢博主帮忙,猫已救活,方法分享如下: 找台新猫,按博主方式开启telnet,进入以后。 # /opt/upt/framework/saf/rootfs/bin/busybox dd if=/dev/mtd9 of=/mnt/USB_disc1/rom/kernel1.bin 一定要插U盘,在U盘的rom目录里找到kernel1.bin文件,大小应该是38912KB,改名为vmlinuz.bin,然后找个tftp软件,把电脑IP设置为192.168.1.100,启动tftp服务端。 进入u-boot,因为是死猫,所以不会启动到系统,在命令行下输入: =>downver kernel 此时猫会自己去下载192.168.1.100 tftp服务器里面的vmlinuz.bin。但会提示文件过大,看来用dd备份出来的固件大小有差异。不过没关系。 下载WinHex,打开vmlinuz.bin,跳到文件末尾,把FFFF类似的废物都删掉,保存,文件大小会变成29701KB左右,不用那么精确。 在执行 =>downver kernel 没报错 =>reset 猫终于神奇的活了。

  • 老哥 您好 请问一下我的是F650 V2.0.0P1T3GD版本 怎么获取配置文件查看宽带密码? 超密码都是默认的可以进入设置界面

    • 如果知道超级管理员密码的话直接进后台进网络,网络设置里面,选哪个INTERNET开头的连接,下面会有宽带账号和密码。或者你直接进管理界面备份到配置文件到U盘,然后用我网站上的解密工具解密

  • 坐标浙江宁波,已破解成功,但第一步reset后宽带识别码丢失了,光猫无法注册,打10000联系安装师傅要的,后面步骤都很顺利,感谢大神

  • 前辈你好, 能分享个f650 4.0的固件看看吗?想学习一波~~~邮箱:skywanggg@gmail.com

    • 文件比较大,我传百度云了:链接:https://pan.baidu.com/s/11UCncto-2ZVAVQcmL7NW6g 提取码:6ywg

  • 浙江温州电信,能进行登陆telnet,但是插上光纤后,无法注册,itms无法连接,配置无法下发,只能用useradmin账号恢复出厂设置,这样一切回到原点

    • 没有丢失,发给你的截图可以看到有的,后来我在其他论坛查了下,同样有提到itms连不上,说是光猫被绑定,需要重新解绑再注册

8941
12

    浙公网安备 33011002014706号