先登录前端
账号密码在路由器的背面,以个人为例子:
| 用户名 | 密码 | 地址 |
|---|---|---|
| 路由器背面,一般都是:user | 路由器背面 | http://192.168.1.1 |
![图片[1]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-133719-1764337039-1024x917.png!upyun.tianyubk.image.01.webp)
登录后按F12打开 开发者控制台,在 源代码/来源 内搜索 telnet
![图片[2]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-133752-1764337072-1024x620.png!upyun.tianyubk.image.01.webp)
可以看到有 FEATURE_TELNET 的css在 hgs_customer.js 被remove了,是否remove取决于 /json/config.json ,网页中搜 FEATURE_TELNET 看一下:
![图片[3]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-133909-1764337149-1024x470.png!upyun.tianyubk.image.01.webp)
可以看到除了 FEATURE_TELNET 还有 FEATURE_ADMIN 这个CSS在控制,搜一下 FEATURE_ADMIN
![图片[4]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-133932-1764337172-1024x937.png!upyun.tianyubk.image.01.webp)
可以看到 hgs_update_data.js 中移除了 FEATURE_ADMIN ,通过 getLogStatus 的GET获取是不是admin,看一下这个GET:http://192.168.1.1/getLogStatus?waitTimeoutMs=500
{
"login": true,
"isAdmin": false,
"busyLevel": 0
}
修改代码
那么接下来就是修改数据,修改前端和后端任意一个都可以,
- 修改后端的话 就拦截
getLogStatus和/json/config.json,并修改里面的数据 - 修改前端就改js,
前端方便一点,这里修改前端
hgs_update_data.js 直接在 data.isAdmin 前加 data.isAdmin=true ,或者直接改为 if(false)
hgs_customer.js 简单点把 remove 相关的代码都删了。
看一下效果,telnet出来了
![图片[5]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-134115-1764337275-1024x539.png!upyun.tianyubk.image.01.webp)
打上钩,点击保存看一下,直接就保存上了! 没有任何校验!
对应的请求:
curl 'http://192.168.1.1/setObjs' \
-H 'Accept: */*' \
-H 'Accept-Language: zh-CN,zh;q=0.9' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
-b 'token=d81e2312872deccdc59e7ec81be2932e' \
-H 'Origin: http://192.168.1.1' \
-H 'Pragma: no-cache' \
-H 'Referer: http://192.168.1.1/' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36' \
-H 'X-Requested-With: XMLHttpRequest' \
--data-raw '[{"TelnetEnable":true,"TelnetUserName":"CMCCAdmin","TelnetPassword":"aDm8H%MdA","fullPath":"InternetGatewayDevice.DeviceInfo.X_CMCC_ServiceManage."}]' \
--insecure
http://192.168.1.1/getObjs?waitTimeoutMs=5000
[{
"fullPath": "InternetGatewayDevice.DeviceInfo.X_CMCC_ServiceManage.",
"FtpEnable": "1",
"FtpUserName": "para",
"FtpPassword": "xxxx",
"FtpPort": "21",
"TelnetEnable": "1",
"TelnetWANEnable": "0",
"TelnetUserName": "CMCCAdmin",
"TelnetPassword": "aDm8H%MdA",
"TelnetPort": "23",
"SSHEnable": "0",
"SSHUserName": "",
"SSHPassword": "",
"SSHPort": "22",
"SerialEnable": "0"
}]
ftp及其他功能同理
![图片[6]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-134222-1764337342-1024x496.png!upyun.tianyubk.image.01.webp)
telnet登录
已经开启了我们登录看一下
![图片[7]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-134303-1764337383-1024x385.png!upyun.tianyubk.image.01.webp)
登录成功,看一下cpu:cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 1 (v7l)
BogoMIPS : 400.00
Features : half thumb fastmult edsp tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x4
CPU part : 0xc09
CPU revision : 1
processor : 1
model name : ARMv7 Processor rev 1 (v7l)
BogoMIPS : 400.00
Features : half thumb fastmult edsp tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x4
CPU part : 0xc09
CPU revision : 1
Hardware : hsan
Revision : 0000
Serial : 0000000000000000
cat /etc/hi_version
product name :hsan
product version :HSAN_3.3.19.linux1
version type :release
product author :Hisilicon
sdk version :HSAN_3.3.19.linux1
flash type :spi
release time :2024-12-05 16:34:19
海思(Hisilicon)HSAN 系列 SoC.ARMv7-A 架构,Cortex-A9 双核
找一下管理员密码(该密码同时还是telnet->su(root权限)的密码):
find / -name "*backup*" -o -name "*config*" 2>&1 | grep -v "Permission" | grep -i xml
找到了
/config/conf/cfm/config_default.xml
/config/work/backup_lastgood.xml
/config/work/backup_lastgood.xml_md5
/tmp/mnt/usb1/._backup_lastgood.xml
/usr/cmcc_app/backup_b_lastgood.xml
/usr/local/factory/defaultconfig.xml
最终找到在 /config/work/backup_lastgood.xml 原始文件位于同目录 /config/work/lastgood.xml
看一下,搜 CMCCAdmin ,找到了超级管理员的密码
![图片[8]-中国移动 光猫 TEWA-7560B 开启telnet 及超级管理员密码 破解过程-天域博客](https://uss.tianyubk.com/wp-content/uploads/2025/11/20251128-134504-1764337504-1024x498.png!upyun.tianyubk.image.01.webp)
关于怎么禁止超级密码更新/停用上报/
由于是TR069(hgcwmp),从远程拉取了一个 /tmp/lastgood.b64 ,然后base64解码然后解压(相关代码位于hi_cwmp.so 的 port_after_download 函数中),来实现的动态密码
所以只要把网络->宽带设置->网络连接->1_TR069_R_VID_4034->启用 勾掉就好了
上报相关的信息位于网络->远程管理->省级数字家庭管理平台服务器->远程管理配置
里面有2个账号密码及ACS服务器的url,通过抓包可以知道
第一个账号是用于ACS 后台触发Download开关,返回一个服务器的 lastgood.b64 ,地址是 http://112.16.168.100:8080/cms/SCTY18860A9C/lastgood.b64
第二个账号是用于下载 http://112.16.168.100:8080/cms/SCTY18860A9C/lastgood.b64 时的验证
这意味着只要知道设备的SN以及对应的2个账号密码(估计是根据sn生成的),就可以获取到任意移动路由器的超级密码。
默认不让保存的,对应的css为 HGS_REMOTE_MANAGE HGS_REMOTE_MANAGE_1 ,修改为可以保存就可以保存
勾掉 使能周期上报 也可以防止密码修改,
因为url是 http://acs.zj.chinamobile.com:9090/ACS-server/ACS ,会被TR069解析为正确ip,所以任意勾选掉一个都可以使周期上报失效
周期上报后会下载 /tmp/lastgood.b64 ,并更新密码
如果想调试相关代码,可以把 周期上报时间 调短,然后保存,这样会频繁的更换密码.个人用的frida调试的
直接kill相关进程是不行的 因为会触发 watchdogd 重启这些进程 并触发更新密码
禁用远程插件
这些插件会实时统计所有连接的设备及在线情况以及每个设备的使用流量,
有部分是给对应的远程控制app用的 andlink
确实有部分是监控流量的 cmccdpi
但是其实无所谓的,服务端肯定还有监控,只不过不能知道具体什么设备使用了这些流量而已
原理:Felix(OSGi 框架)通过加载jar包来实现各种插件
首先telnet用 su 获取root权限
OSGi相关配置在 /usr/cmcc_app/conf/config.properties
可以修改配置文件.想简单直接删除/修改后缀名下面的文件 /usr/cmcc_app/
com.chinamobile.smartgateway.andlink_2.6.2.jar
com.chinamobile.smartgateway.appcore_3.2.0.jar
com.chinamobile.smartgateway.cmccdpi_4.3.2.JiaKuan.jar
com.chinamobile.smartgateway.cmccdpi_4.3.2.JiaKuan_GXI.jar (广西)
com.cmcc.hy.speedtest_1.0.jar
com.cmcc.wuyougateway_5.0.5.jar
清空缓存 rm -rf /usr/cmcc_app/cache/felix-cache/*
然后重启程序 killall java 或者 重启光猫 reboot
需要注意此时移动的app控制光猫 也不能用了
如何开启ipv6
把安全->广域网访问设置 打开,然后把安全->防火墙 关闭就好了
但是这样非常不安全!正确做法应该和云服务器一样做端口映射,开启特定端口,但是光猫上web界面没有,需要自己修改iptable。
或者桥接二级有高级防火墙的路由
光猫ipv6地址通过光猫telnet执行 ip -6 addr show dev br0 获得,其他下挂设备ipv6对应获得即可。
总结
现在仅对root(telnet)用户做了超密的校验,如果后端所有接口都加上超密的校验,就很难破解了。
ps:
- 现在超级管理员密码都是动态的,每次获取到的可能不一样,应该是设备的SN+秘钥(比如时间戳) 生成出来的,秘钥是动态换的,通过备份文件可以获取到最新的
- 部分光猫有的功能,有超级管理员密码也没有办法开启,有一部分配置文件写死的,有一部分是通过地区判断的,通过该方法可以全部开启
- 超级管理员的密码也是su的root权限的密码!












暂无评论内容