0%

解决电信光猫和机顶盒软硬件限制的记录

以下内容仅在杭州电信实测通过,其他地区或运营商主要参考解决思路,根据实际情况做相应调整。

一、这篇记录能够实现哪些功能?

  • 减少硬件设备:弱电箱中无需安装电信光猫、智能电视机在是否安装机顶盒的问题上有选择权
  • 解决家装布线问题,当电视移位、新增电视或投影设备时,通过wifi收看电信iptv电视,且无需申请办理第二个iptv账号
  • 避免使用电信光猫时,受电信下发配置的控制或DNS劫持问题

二、设备情况

  • 电信光猫:中兴F650,天翼网关3.0,软件版本2.0.3 P1T3(可彻底破解,取得root权限和telecomadmin密码)
  • 机顶盒:华为EC6106V6(可彻底破解,所有密码可知,取得adb root权限)
  • 双模Pon Stick光模块(取消光猫必须配置,只解决机顶盒问题非必须。搜索淘宝按销量排序)
  • ROS路由(非必须,亦可使用刷openwrt的路由,但路由必须有SFP接口)

三、解决电信光猫

核心逻辑:杭州电信仅验证用户LOID,不验证光猫的设备标识和MAC地址,意味着硬件设备可以被替换。

1. 如何获得用户LOID

用户LOID是存储在光猫中的,只要取得光猫的telecomadmin用户权限,即可查询获得。

杭州电信用户普遍安装的是中兴F650的天翼2.0或3.0网关,软件版本以2.0.0 P1T1或2.0.3 P1T3较为多见。其中天翼2.0或软件版本为2.0.0 P1T1的光猫,破解方法较为简单,初期使用U盘备份漏洞,后来已有软件可直接通过普通useradmin用户查询到实时的telecomadmin密码。因此这里主要记录一下软件版本为2.0.3 P1T3的天翼3.0网关。

a) 走过的弯路

  • U盘备份法,通过Fiddler 4下断点获取db_user_cfg.xml文件,但routerpassview暂不支持该版本文件,无法解出明文密码
  • 通过TelnetONU工具开启telent服务,但未搜到可用版本

b) 不拆机不TTL的破解方法

经查询发现,中兴F650上的reset键,并不等同于factory return,设备reset后,telecomadmin复位为默认密码,但系统仍然保留了LOID信息,这就留下了漏洞。

因为reset光猫会重启,重启后会自动接通网络并根据保留的LOID信息重新下发配置,此时也会自动修改telecomadmin密码,因此reset前首先要将光纤拔掉断网。以下是具体步骤:

  • 拔掉光纤
  • 按住reset键,看到所有led灯闪烁后继续按住,直至led灯常亮后松手
  • 光猫重启后,使用telecomadmin默认密码nE7jA%5m访问http://192.168.1.1
  • 登录后记下LOID
  • 继续记录下vlan信息,包括连接名称和vlan id,通常是这样的:
    • 1_TR069_VOICE_R_VID_46
    • 2_INTERNET_R_VID_41
    • 3_Other_B_VID_43

此时目的已经实现,但我们难得拿到了telecomadmin密码,不要止步于此:

  • 继续打开
    http://192.168.1.1:8080/hidden_version_switch.gch
    选择Default Version,因为该版本下默认开启telnet服务。密码仍然是默认密码
  • 光猫重启后,使用telnet登录192.168.1.1,端口号23,用户名root,密码Zte521
  • 执行
    cp /opt/upt/framework/saf/rootfs/usr/sbin/telnetd /usr/sbin/
    将telnetd文件替换成标准版本,这样切换回地区版本时,telnet依旧开启,且密码不会变换
  • 再次打开
    http://192.168.1.1:8080/hidden_version_switch.gch
    选择原区域,例如Zhejiang Version
  • 光猫重启后,打开
    http://192.168.1.1:8080/return2factory.gch
    输入默认密码,提交后光猫会恢复为出厂设置,所有信息都会被清空,包括LOID信息
  • 光猫重启后,打开
    http://192.168.1.1
    通过右下角的装维入口(字较小),重新进行设备注册,输入刚才记录下来的LOID并提交,成功后会下发所有业务配置,重启后恢复上网,telecomadmin密码随之改变

此后仍然可以使用telnet方式访问192.168.1.1,用户名和密码均为root。登录后可使用以下命令修改telecomadmin的密码:

sendcmd 1 DB set DevAuthInfo 0 Pass yourpassword  
sendcmd 1 DB save  
sendcmd 1 DB saveasy  

c) 修改桥接模式的简单方法

打开
http://192.168.1.1:8080/bridge_route.gch
选择桥接复原

2. 安装双模Pon Stick光模块

光模块自身有一个管理地址是http://192.168.1.1,因此在插入ROS路由的SFP接口后,我们在ip address中为该接口配置一个ip地址为192.168.1.2,方便以后的访问和管理。
SFP接口的IP配置

  • 如果此前SFP接口和其他ethernet接口在同一个bridge中,需要移除
  • 访问http://192.168.1.1,用户admin,密码system登录(也可咨询卖家具体用户名密码)
  • “系统管理”–“GPON设定”中填写LOID,密码000000
  • “状态”–“PON”中查询GPON状态,如果显示ONU状态O5,LOID状态认证成功,即代表可用,光猫已顺利被Pon Stick取代

回到ROS中,在SFP接口下创建2个vlan,参照光猫中记录的具体信息,如下图:
SFP接口的VLAN配置

  • 配置PPPoE Client,接口选择2_INTERNET_R_VID_41
  • 在Interface List中,将SFP接口和PPPoE Client加入WAN list

至此,电信光猫问题解决完毕。

四、解决电信机顶盒

核心逻辑:杭州电信机顶盒使用IPoE方式认证DHCP,不验证机顶盒的SN和MAC地址,意味着建立iptv网络通道的设备可以被替换。

杭州电信用户普遍安装的机顶盒有华为和中兴两个品牌,两者大同小异,默认密码一致,无论外壳是否有无线网络标记,实际均自带wifi模块,可以无线上网。这里主要记录华为EC6106V6机顶盒的破解过程,下文提到的华为STB工具并非必须,除获取节目列表以外的步骤,中兴机顶盒均可参考。

1. 如何在路由上实现IPoE验证

a) 一些基础信息

  • 机顶盒“设置”的默认管理密码是10000
  • 网络连接下可以看到itv用户名,默认密码是111111
  • IPoE的本质是DHCP+OPTION扩展字段认证,具体对应option 60

b) 针对DHCP认证信息抓包

ROS路由有个优势,Tools项下自带Packet Sniffer抓包工具:

  • 将机顶盒插入任意接口
  • 将该接口与3_Other_B_VID_43的vlan接口桥接
  • 重启机顶盒后,机顶盒会自动尝试认证DHCP获取IP,此时对3_Other_B_VID_43接口抓包
  • 从Files中,下载抓包文件
  • 使用Wireshark软件打开抓包文件进行分析,查找DHCP Discover信息
  • 将Option 60信息记录下来(部分信息隐藏,不影响阅读)
    IPOE Sniffer
  • 红框中的3c代表option 60,38代表认证信息的长度。蓝色内容即为具体的16进制IPoE认证信息,该信息是否经过加密都不影响使用,直接记录下来,去除空格。

c) 在ROS中添加DHCP认证信息

  • 打开IP–DHCP Client
  • 在第二个选项卡“DHCP Client Options”下新增一个Code为60,Value为抓包获得的IPoE信息(前面加上0x),Name随意
    DHCP Client Settings
  • 在第一个选项卡“DHCP Client”下为vlan接口3_Other_B_VID_43新增DHCP,注意Add Default Route选择no,Advanced中新增DHCP Options,选择刚才新增的Code 60
    DHCP Client Settings
  • 应用后,在Status中可以看到成功获取了IP地址
    DHCP Client Settings

2. 在ROS中配置路由

将vlan接口3_Other_B_VID_43添加到WAN list中,因为缺少路由信息,访问iptv节目的流量并不会经过该接口,因此需要手动增加以下路由信息,gateway设置为10.200.0.1:

61.130.56.0/24  
61.130.57.0/24  
115.233.1.0/24  
115.233.40.0/24  
115.233.41.0/24  
115.233.200.0/24  
122.229.6.0/24  
122.229.17.0/24  
220.191.136.0/24  

Route List

3. 其他配置

此时在机顶盒设置中,将网络连接方式设置为家里的无线网络,即可正常登录并播放电视节目。

在其他设备中,可以通过第三方播放器,直接打开rtsp单播地址的方式,观看直播节目:

  • 节目地址的获取,除了利用网上公布的播放列表外,可以采取Fiddler 4抓包或华为STB工具导出两种方式
  • 在使用华为STB工具连接前,需在机顶盒个性化设置中,勾选“允许Monitor”连接,默认用户名huawei,密码.287aW(注意有个点)或28780808,ip可以在网络连接中看到
  • 华为STB工具连接成功后,可以直接导出rtsp地址列表,并通过vim或notepad++用正则表达式创建自己的xspf播放列表
  • 该工具能够读取到密码信息以星号显示,使用xpass工具可查看具体密码内容
  • 该工具还能够开启机顶盒的adb连接,经测试adb root可用,使得通过adb在机顶盒中安装其他app成为可能
  • 下图是在电脑中导入xspf播放列表后流畅观看高清iptv节目的画面
    DHCP Client Settings

目前基于android系统的智能电视或投影,均可采取第三方播放器+播放列表的方式,直接观看iptv节目,避免了布线和安装机顶盒的麻烦,且无需再忍受走普通互联网线路卡顿的直播源。

在外通过vpn连接家庭网络,可实现在任何地方观看iptv节目。

五、待解决的问题

  • 光模块工作时,温度在55至62度,发热量可观
  • 机顶盒问题的解决,虽然能够在第三方设备任意观看直播节目,但回看节目单的获取仍然依赖EPG源,暂无解决办法
  • 尝试过adb pull获得iptv app的方法,但不能直接安装或adb push至app目录,存在签名问题