开贴说说如何免费使用基于 DOCSIS 协议的宽带

2017-01-22 16:37:18 +08:00
 JackyBao

以前那种接有线电视线,然后给你一个 cable modem ,路由器设成 DHCP 就能上网的宽带,不知是否还有人记得?一般这种宽带都是当地的有线电视运营商来运营的,比如上海的东方有线。

现在这种上网方式在上海已经基本绝迹, NGB 改造后,都变成 PPPOE 了,其他城市不是很清楚,欢迎大家补充。

下面就和大家说说这种老式的基于 DOCSIS 协议的宽带认证过程存在的一个很愚蠢的 bug ,让用户可以不付费就能使用。

以下提到的内容技术上可能并不十分准确,因为 LZ 既没有在相关运营商内工作过,也没有正统的学习过相关知识。一切全靠个人理解,以及 google 。各位感兴趣的,想进一步了解的,欢迎自己 google 。

先抛砖引玉一下,什么是 DOCSIS 。想了解的点我: https://en.wikipedia.org/wiki/DOCSIS

以下所有内容都是 LZ 十几年前研究的,比如 DOCSIS 协议, LZ 只研究到 2.0 ,后面的版本据说修复了这个漏洞,不过后面的事情 LZ 就不知道。

先去撒泡尿,回来慢慢写。各位若要喷,请轻喷。

10472 次点击
所在节点    宽带症候群
73 条回复
liyvhg
2017-01-22 22:47:48 +08:00
@JackyBao Mac 地址理论上是可以修改,前提是你得知道 SNMP 节点和 SNMP 帐号密码,或者物理串口密码,这个每个设备商都可能不一样而且不公开。
配置文件不解析或者错误解析,理论上也是可以的,问题还是在 Mac 地址上。
所以你得找到同时满足以下:
1. 一个单纯用 Mac 地址验证
2. 没启用 bpi
3. 正好找到了能修改 Mac 地址的设备
4. 你正好能生成一个自定义固件以 bypass 一部分配置文件的设备
的环境
就触发了这个漏洞。
JackyBao
2017-01-22 23:17:30 +08:00
酒足饭饱,回来看到有专家进来了,挺好的。
@liyvhg 不过专家,你把问题想得太复杂了。

依稀记得当年的东方有线,在 ngb 改造前就是只通过 mac 地址认证的。所以当年流行的第一代的蹭网方法就出来了,直接把已入网的 cable modem 的 flash 内容复制到另一台 cable modem 里。当然这是最笨拙的方法,用这种方法,蹭网的人更本不需要理解 docsis 协议。缺点也很明显,一个终端下不能同时连 2 台 mac 相同的 cable modem ,而且你需要有一个已经入网的 cable modem 。当然同一个 mac 多次同时上线,会不会被局端发现呢?这个 lz 真的不知道,专家如果知道请不吝赐教。

但是作为技术流, lz 是不屑这种方法的。
ericls
2017-01-22 23:18:18 +08:00
加拿大的 cable 都是这种
JackyBao
2017-01-23 00:04:46 +08:00
睡觉前,再写一段。

刚才提到了第 1 代方法,于是就有人开始思考了,根据 docsis 的认证协议,不就是需要一个有效的 mac 地址吗?
这时就有了第 1.1 代蹭网方法。上 jtag 线直接改 mac 不就可以了,有效的 mac 地址我找个 snmp 的软件,扫一下内网在线的 cable modem 不就知道了。

就这样,带机入网,不对,是带机蹭网 1.1 代就轻松的实现了。

当然, 1.1 代也是有缺点的,就是网速,你蹭到的 mac 订得是什么套餐,你就只能用什么套餐。

好了,睡觉,明天继续开讲 2.0 版。欢迎感兴趣的 V 友收藏和参与讨论。
ovear
2017-01-23 00:08:07 +08:00
@JackyBao 然后就修改下发配置文件就可以获得各种速度了
aprilRao
2017-01-23 00:11:34 +08:00
哈哈哈,看见国内有这么多人关注 docsis 事业,很是开心啊!
@JackyBao 作为一个专业做 CM 近 4 年,不算专家,也不算大牛,只是对 docsis 和 cm-cmts 整个系统,以及国内广电及各大运营商的配置有所了解的小菜鸟,我可以很明确的告诉你,同一个 mac 地址的 CM 同时会在线,两台设备都没法正常使用,两台 CM 会重复上线。
aprilRao
2017-01-23 00:16:10 +08:00
@ovear 原理上是可以通过修改下发的配置文件从而修改里面的限速和 qos ,以及 max cpe 等各种限制,以及关闭 bpi 。但是这个配置文件是经过 bpi 加密的,据我所知,应该没有办法可以破解或者是修改。倒是可以通过 snmp 找到相应的节点去设置,也正如 @liyvhg 所说,存在这那些限制。
JackyBao
2017-01-23 00:21:14 +08:00
@aprilRao 但是如果 2 台 mac 相同的 cm 是挂在 2 个不同的 cmts 下呢?我的经验是可以同时上网的,原理应该类似同一个交换机下不能有 2 个 mac 相同的设备。
JackyBao
2017-01-23 00:23:48 +08:00
@aprilRao 在我研究 docsis 的那个年代, bpi 尚未普及,配置文件都是明文传输的。所以 bug 就这么来了。
ovear
2017-01-23 00:27:44 +08:00
@aprilRao 在关闭 bpi 的情况下,这个配置文件是可以直接修改的。证书在这个系统里面更像是一个通讯鉴权的存在,至于本机如何解析核操作并没有做规定。这也是目前到 3.0 都存在的缺陷

再说说 BPI 的问题, BPI 这个其实是个伪命题,只是增加破解难度而已。只要是加密,那么对于本地的 modem 一定是非加密的,换一句话说就是移动可以解密。所以 BPI 的证书是可以提取的,所以所谓的加密配置文件是可以解密的,自然可以修改上下行速率。至于提取 BPI 证书那就太简单了,从刷第三方系统到 FLASH 直接读固定区域,太多方法了
ETiV
2017-01-23 00:33:55 +08:00
“去睡觉”什么的从来都是假的
ovear
2017-01-23 00:37:24 +08:00
作为小白,再来说下接下来可能的剧情发展

首先,作为数字电视,其实跟互联网还不一样。数字电视大多都是单方面的下发,或者说广播。所以在非智能盒子年代,如果你家没有开通有线宽频,那么双向数据通道,都不一定有开,自然别说什么蹭网了,上行通道都没可能。

那么在这个年达,市面上大部分的传统渠道,都被互联网的盒子打击,那么作为传统厂商,自然也要跟风了,所以才有双向数据通道开放。那么说到这,聪明的观众一定想到了电信的 IPTV ,没错,原理是接近的。这个所以得智能盒子内部也有一个 cable modem ,恩恩接下来大家都看看有猜到,很简单,已经开通双向数据通道,局域网形成

那么这时候就要看有没有广域网访问权限了,有的话,直接下载配置文件克隆 mac ,免费上网
没有的话,扫描内网,拿到内网的 mac 啊, snmp 服务器,配置下发服务器啥的,渗透就行。或者找到提供方暴露的代理,穿透出去,免费上网

还有一种可能,所谓的免费 wifi 覆盖,这个就太简单了,直接 bypass portal 验证,免费上网

作为一个小白,暂时就想到这些方法
ovear
2017-01-23 00:40:22 +08:00
@ovear 呃 应该叫什么高清互动机顶盒,带点播回播啥的,只要可以用这些功能,双向通道就是开了的
JackyBao
2017-01-23 00:44:24 +08:00
@ovear 看来你才是真正的砖家啊!

在那个 cm 只有下行没有上行的年代,我们是通过外挂一个走电话线的 modem 解决上行问题的。

我的剧情其实还是很有趣的,明天我会继续写,其中有些当年一直不解之谜,还请不吝赐教,感谢!
aprilRao
2017-01-23 00:56:25 +08:00
严格意义上来说,楼主所说的情况发生的前提是:
1.他复制的 CM 的 mac 地址和他的 CM 不是工作在一个 CMTS 下,只要是在一个 CMTS 下,必然会出现两台 CM 重复上下线的问题。因为 CM 无法正常 Online , CM 的 RF 接口会出现 IP 冲突。
2.如果需要修改下发的配置文件,必须在 1 的基础上,恰好没有启用所谓的 docsis2.0 中的 baseline privacy 的功能。我承认的一点是,国内广电在运营 docsis2.0 的 CM 时大部分情况下是不启用这个功能的。这里说的 baseline privacy 和 docsis3.0 中的 BPI+是不一样的。详情请见: https://apps.cablelabs.com/specification/?query=bpi&category=DOCSIS&subcat=&doctype=&content=true&archives=false&currentPage=1
至于修改下发的配置文件,请楼主提示。若通过其他的方法将自己准备的配置文件写入 CM 中,建议参考这系列文档的附录 C : CM-SP-MULPIv3.0-I21-130404.pdf 。当然我这份不是最新的,最新的可以在 cablelabs 官网找到。
3.楼主说的, docsis2.0 的 CM 接上路由器,即使没有开通上网业务也能够蹭网。我觉得唯一的可能是运营商运营上的问题,没有在配置文件中正确限制 max cpe 这项参数。具体这项参数的作用见 CM-SP-MULPIv3.0-I21-130404.pdf 中 C1.1.7 。值得注意的是这句说明( The CM MUST interpret this value as an unsigned integer. The non-existence of this option, or the value 0, MUST be interpreted by the CM as the default value of 1.)
4.有人提到通过“发送一个 vendor class 为 docsis3.0:的 dhcp 请求,有很大几率进入猫网(准确来说应该是猫的专属 vlan)”,需要说明的是这里你进入到的是 RF 网段,在这个网段内可以通过 snmp 获取到运用商的一些运营权限,但是稍微专业的运营商会在 CM 的配置文件中限制 RF 网段的 snmp 权限,比如,哪些网段对应用的 community string 以及每个 string 的可操作的接口,以及操作的权限等等。而且,据我所知, DHCP server 中可以配置 default deny 规则,也就是说,如果不是对应的厂商设备的 OUI 所发出的 option60 请求,是会被拒绝的。

以上是我目前知道的,希望可以跟大家一起讨论,国内做这个的人太少了。
Actrace
2017-01-23 01:01:36 +08:00
@JackyBao 外挂电话线的话,如何解决数据收发的源地址?
aprilRao
2017-01-23 01:02:05 +08:00
@ovear 确实是这样的,所谓的高清互动机顶盒如果有点播回看的功能,那么双向网络就是 OK 的,因为点播回看需要和前端的点播服务器进行通信。
oojiayu
2017-01-23 01:56:41 +08:00
这么凶残!你们居然可以不给 ISP 过路费实现免费上网!
这是违法的!
FreeDog
2017-01-23 07:50:36 +08:00
对于某些非正规不严格的 ISP ,还有通过 DNS 隧道和 ping 隧道上网的,常见于校园内网
liyvhg
2017-01-23 08:38:53 +08:00
@JackyBao 我算不上专家,只是正好做过一点点相关的工作,相同 Mac 地址的 cable modem 在不同的 cmts 下理论上是都能正常上线的,不排除运营商网管系统专门对这种行为做检测和限制(目前看来几乎没有)。
拿到一台能正常上网的 cable modem ,扫内网 Mac 、刷自定义固件这种方式肯定是可行的。
docsis 的缺点在于,他们是欧美人设计的,过于信赖终端 cable modem 的“自觉性”了,很多功能和限制都纯在终端实现,一旦某个终端被攻破(刷自定义固件之类的),就能获得很大的权限。
所以后来推出 bpi ,借助数字证书体系去做双向鉴权,缺陷还是有,它还是只验证了“终端数字证书”的合法性,还是没有解决终端本身是合法终端的问题。
不仅仅是 docsis ,各个安全领域里面,基于伪造终端和复制鉴权信息的安全问题都是长期存在的,欢迎探讨

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/336250

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX