免Telent/TTL屏蔽运营商新版光猫的远控、TR069和RMS,获取动态随机超级管理员密码并固化权限

前言

在校园网、小区网等环境中,运营商的光猫通常会被 Technical Report - 069(TR069)和远程维护系统(RMS)远程管理,这些系统会在你不知情的情况下修改你的光猫配置,甚至会在你不知情的情况下重置你的光猫,导致你的网络配置失效,甚至设备全部失联。因此,屏蔽这些远程管理机制是非常有必要的。

然而,不幸地是,新版本的光猫早已修复了一切可以删除 TR069 和 RMS的漏洞,包括但不限于:

  • 不可能通过面板直接删除 TR069
  • 不可能通过 F12 或者改包、发包的方式变相删除 TR069 或修改接口的配置
  • RMS 的配置被写死,不可能通过修改配置文件的方式禁用或修改 RMS
  • 没有任何漏洞或后门可以在不拆机的情况下打开 Telenet
  • 甚至连拆机都不一定能的打开 Telenet,因为 uart_en=0

本文将介绍一种全新的思路:通过故意制造 IP 冲撞,使得 RMS 服务访问异常,从而达到光猫不能正常拉取远程配置的目的。本方法不仅可以防止配置被远程修改,还能防止局端修改你的光猫超级管理员密码,以实现权限的固化,以解决我在 V2EX 提出的这个问题

过程

1. 获取光猫的超级管理员密码

虽然以前很多地区的光猫的超级管理员密码都是固定的,比如联通是 CUAdmin,但事实上最近几个月开始很多地区都开始实施全新的随机密码机制,机房随机为每个用户生成不同的超级管理员密码,然后下发到用户设备上。因此,如果用默认密码登不进去,那么你需要先获取你的光猫的超级管理员密码。

获取方法有很多种,比如:

1.1. (推荐)询问宽带师傅

宽带师傅(线务员) 的电话,告诉师傅你要改桥接,师傅会向上面打报告申请密码(师傅自己也没权限查询密码,必须向上报告)一般来说几个小时以后师傅就会回电告诉你密码。

注意打客服电话是没用的,客服不懂这个。这种方法的优点是你不需要手动设置上网和IPTV的上行配置。

1.2. (社恐适用)重置光猫

这个太麻烦了我不喜欢,不过我试过是可行的。

  1. 确定你所在区域的光猫认证方式,是S/N还是LOID。有些地区是S/N认证,不需要记录任何信息。有些地区是LOID认证,需要记录你光猫的LOID才能上网。
  2. 拔掉光猫光纤
  3. 断电然后捅光猫屁股上的Reset按钮,然后插电,保持捅着Reset按钮大概15秒,等到光猫的灯都亮了,然后又灭了,然后又亮了以后松开Reset按钮(也就是光猫中间又重启了一次)
  4. 注意一定要让光猫再次重启一次再放手,这样才是完全重置,否则只是局部重置用户设置而已。
  5. (LOID方式)填入LOID
  6. 插光纤,注意光猫的配置下发,看到INTERNET和IPTV下发完了立即拔电源,拔晚了密码下发下来就寄了,需要重来
  7. 拔掉光猫光纤
  8. 打开光猫电源,进后台,用默认密码登录

另外局端向光猫下发的密码是不加密的明文,通过抓包获取密码也是可行的,然而此操作过于繁杂,因此此处不再赘述。

2. 开始操作

登录光猫后台,找到 高级配置 – 远程管理 – RMS 服务器。记下 RMS 服务器的IP。如图为 10.128.0.7

打开 基础配置 – IPv4配置 – LAN配置,把 IP 地址设置成和RMS一样的,如图为 10.128.0.7,子网掩码 255.0.0.0

若为桥接模式上网,则和我一样禁用DHCP服务器。若为光猫路由模式上网(谁用光猫路由啊),则不需要禁用DHCP服务器,但初始 IP 地址和 终止 IP 地址要设置成和 RMS 服务器位于同一个网段的。

保存,插光纤,重启光猫,可以看到 状态 – 远程管理状态 – 远程连接建立状态为 “上报无回应”

这样光猫便会将 RMS 服务器的地址解释成本机,使得 RMS 连接永不成功,也就没有办法通过 polling 拉去下发的配置了。

后记

读到这里,想必有读者就要问了,为什么不写个黑洞路由,或者写几个防火墙把 TR069 / RMS 的IP屏蔽掉,而出此下策呢?

事实上博主已经尝试过这些了。根据博主的测试,自定义静态路由、自定义防火墙规则、端口过滤、上下行策略配置等等,都无法阻止 TR069 / RMS 的远程管理。因此不得不通过这种冲撞的方法来达到目的。

另外,如果你想的话,冲撞 TR069 的网关的 IP 地址(如图为 10.78.128.1)也是可以的,但是与 RMS 的地址相比, TR069 的地址通常是动态DHCP的,因此一旦局端变了网关地址,冲撞就失效了,就会导致配置被下发。事实上,博主就曾因此而被远程下发过配置导致光猫桥接变路由而失联,因此不推荐这样做,最好还是去冲撞RMS的IP。

更多保险方案

博主为了防止其他的以外情况,还建议,如果路由器已经 Root,则可以将路由器设置两种上网方式(PPPOE-桥接 + 静态IP-光猫路由-备用),以便于在发生什么意外到导致局端配置仍被下发的情况下,保证家庭设备不断网。

具体来说,对于 小米路由器 或者 OpenWRT 路由器:

  • 修改 /etc/config/network 增加:
  1. config interface 'ftth'
  2. option proto 'static'
  3. option ifname 'eth1'
  4. option ipaddr '10.128.0.1'
  5. option netmask '255.255.255.0'
  6. option defaultroute '1'
  7. option metric '2048'
  8. config 'route' 'defaultgateway_ftth'
  9. option interface 'ftth'
  10. option target '0.0.0.0'
  11. option netmask '0.0.0.0'
  12. option gateway '10.128.0.7'
  13. option metric '2048'

其中 10.128.0.7 为光猫 IP,10.128.0.1 为路由器 IP,最后一位的 1 是随意写的,只要不是 70255 就行。eth1 为 WAN 接口的名称,可通过 ifconfigip ad 命令查询。

  • 修改 /etc/config/firewall 增加:
  1. config zone 'ftthzone'
  2. option name 'ftth'
  3. option input 'REJECT'
  4. option output 'ACCEPT'
  5. option forward 'REJECT'
  6. option masq '1'
  7. option mtu_fix '1'
  8. option network 'ftth'
  9. config forwarding 'ftthfw'
  10. option src 'lan'
  11. option dest 'ftth'
  • 重启路由器

0  字
评论