免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 增加:
config interface 'ftth'
    option proto 'static'
    option ifname 'eth1'
    option ipaddr '10.128.0.1'
    option netmask '255.255.255.0'
    option defaultroute '1'
    option metric '2048'

config 'route' 'defaultgateway_ftth'
        option interface 'ftth'
        option target    '0.0.0.0'
        option netmask   '0.0.0.0'
        option gateway   '10.128.0.7'
        option metric    '2048'

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

  • 修改 /etc/config/firewall 增加:
config zone 'ftthzone'
    option name 'ftth'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'
    option network 'ftth'

config forwarding 'ftthfw'
    option src 'lan'
    option dest 'ftth'
  • 重启路由器

正在加载评论。你可能需要科学上网才能正常加载评论区