以下内容仅在杭州电信实测通过,其他地区或运营商主要参考解决思路,根据实际情况做相应调整。
一、这篇记录能够实现哪些功能?
- 减少硬件设备:弱电箱中无需安装电信光猫、智能电视机在是否安装机顶盒的问题上有选择权
- 解决家装布线问题,当电视移位、新增电视或投影设备时,通过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接口和其他ethernet接口在同一个bridge中,需要移除
- 访问http://192.168.1.1,用户admin,密码system登录(也可咨询卖家具体用户名密码)
- “系统管理”–“GPON设定”中填写LOID,密码000000
- “状态”–“PON”中查询GPON状态,如果显示ONU状态O5,LOID状态认证成功,即代表可用,光猫已顺利被Pon Stick取代
回到ROS中,在SFP接口下创建2个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信息记录下来(部分信息隐藏,不影响阅读)
- 红框中的3c代表option 60,38代表认证信息的长度。蓝色内容即为具体的16进制IPoE认证信息,该信息是否经过加密都不影响使用,直接记录下来,去除空格。
c) 在ROS中添加DHCP认证信息
- 打开IP–DHCP Client
- 在第二个选项卡“DHCP Client Options”下新增一个Code为60,Value为抓包获得的IPoE信息(前面加上0x),Name随意
- 在第一个选项卡“DHCP Client”下为vlan接口3_Other_B_VID_43新增DHCP,注意Add Default Route选择no,Advanced中新增DHCP Options,选择刚才新增的Code 60
- 应用后,在Status中可以看到成功获取了IP地址
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
3. 其他配置
此时在机顶盒设置中,将网络连接方式设置为家里的无线网络,即可正常登录并播放电视节目。
在其他设备中,可以通过第三方播放器,直接打开rtsp单播地址的方式,观看直播节目:
- 节目地址的获取,除了利用网上公布的播放列表外,可以采取Fiddler 4抓包或华为STB工具导出两种方式
- 在使用华为STB工具连接前,需在机顶盒个性化设置中,勾选“允许Monitor”连接,默认用户名huawei,密码.287aW(注意有个点)或28780808,ip可以在网络连接中看到
- 华为STB工具连接成功后,可以直接导出rtsp地址列表,并通过vim或notepad++用正则表达式创建自己的xspf播放列表
- 该工具能够读取到密码信息以星号显示,使用xpass工具可查看具体密码内容
- 该工具还能够开启机顶盒的adb连接,经测试adb root可用,使得通过adb在机顶盒中安装其他app成为可能
- 下图是在电脑中导入xspf播放列表后流畅观看高清iptv节目的画面
目前基于android系统的智能电视或投影,均可采取第三方播放器+播放列表的方式,直接观看iptv节目,避免了布线和安装机顶盒的麻烦,且无需再忍受走普通互联网线路卡顿的直播源。
在外通过vpn连接家庭网络,可实现在任何地方观看iptv节目。
五、待解决的问题
- 光模块工作时,温度在55至62度,发热量可观
- 机顶盒问题的解决,虽然能够在第三方设备任意观看直播节目,但回看节目单的获取仍然依赖EPG源,暂无解决办法
- 尝试过adb pull获得iptv app的方法,但不能直接安装或adb push至app目录,存在签名问题