msgbartop
用铅笔写日记,记录那最原始的美丽
msgbarbottom

一日之内干掉两个光猫

中国电信,一直很坑爹,从未改变过。

随着上海市普遍推广的宽带升级计划,我和父母两地的电信2M/ADSL 都被升级至20M光纤了。价格嘛,倒也便宜,只是比原来的月租费多了9块钱而已。

本来这是一件足以让人兴奋的事情,因为特别对于我来说,终于可以不再忍受小水管了。

可是,紧接着问题来了。

光纤的坏处就是抛弃了传统的拨号上网,也就是说传统路由器被淘汰了。作为终端用户的我们,不需要再去关心ADSL的帐号、密码,要和PPPoE说再见了。

每台光纤的终端都变成了一个光猫(调制解调器和路由的集合体),它把客户端的一切都包办了,做到了真正的即插即用。

然而,也就是因为它的傻瓜,所以基本没有提供给用户什么可配置的地方。

这对于喜欢折腾的我来说,显然不是件好事。

由于我通常喜欢在自家的电脑上架设一些服务器,比如之前的传奇私服服务器等。所以必不可少的会用到端口映射,DMZ主机之类的功能,而这一切光猫均未开放给普通用户。

这件事,着实让我苦恼了一阵,后来我也淡忘了。

直到昨天,我意外的在网上看到一篇关于破解电信光猫的帖子,其中有一位网友的留言让我产生了些许想法。

他是这么说的,“目前市面上所有的光猫都可以被破解了。”,我觉得这是个信号。

由于昨天我在我父母那里,于是先从他们的光猫动手。

首先,使用电信提供的废品帐号"useradmin"登录光猫,查询光猫产品型号。这个,也可以在光猫的设备标签上找到。

得知我父母那边的光猫是"贝尔RG201O-CA"。

其实,通过搜索该设备名,找到了一篇标题为“电信光纤贝尔 RG201O-CA 路由一体光猫 1.6ES 版破解”的帖子。

根据帖子里提供的嗅探器,很快得到了光猫超级用户"telecomadmin" 的密码。

之后,使用该帐号、密码登录,即可以对光猫进行一些我想要的操作了,如mac 地址绑定之类的。

此外,根据他帖子所说的,我还下载了整个光猫的配置文件(http://192.168.1.1/backupsettings.conf),当然是在以telecomadmin 用户身份登录后。

这是一个标准的XML文件,里面可以看到很多的参数。有用户感兴趣的“所有设备连接数”。

我在修改了一些通用的参数后,顺便把默认的telecomadmin###### 的密码也改掉了。

之后,在它的配置上传页面(http://192.168.1.1/updatesettings.html),提交该文件。

果然,光猫重启后,包括密码在内的所有修改过的参数生效了。

这让我很兴奋,也更让我对我住处的光猫的破解充满了信心。

当晚,我回到了南翔家里,便马不停蹄的准备开始动手。

不过在我动手之前,我总想搞清楚一些事情。我是个好奇心很重的人。

我依旧在猜想白天在父母那边所用的那个嗅探器的工作原理,既然它不开源,那我只好用一些其他手段。

我下载安装了Wireshark,这是款开源的网络嗅探器。

我又重新下载了那款嗅探密码的小工具,白天用的那个。

我启动了wireshark,让它监听了网卡。之后,我运行了那个密码嗅探器。

之后,我得到了错误提示。如图:

这个我早就猜到了,因为工具还是那个工具,而光猫已经不是之前的那个光猫了。

这不是重点,关键是wireshark 的结果。如图:

就这?这让我有点不可思议。

可能这只是第一步吧,看来只有等下次去父母那边再测试了。

之后,我便开始捣鼓自己的光猫了。

首先,我查到了该光猫的型号是中兴F420。

通过搜索,我发现这款光猫非常普遍,而是破解的最为彻底的。

这位网友的留言给了我很大的启发:
http://bbs.et8.net/bbs/showpost.php?p=10917268&postcount=9

原来ZTE F420 还支持telnet 连接,这可是一个天大的好消息。

于是乎,我使用 root:root 的身份轻松登录了该款光猫,这简直就是一个微型的Unix-Like 操作系统啊~

还有shell,还有busybox,呵呵。

按照帖子里的提示,我在位于 /tmp 下的db_backup_cfg.xml 里找到了telecomadmin 的密码。

一切来的太容易了。下面是我的具体操作:

sharl@sharl-laptop:~$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
F420
Login: root
Password: 

BusyBox v1.01 (2011.08.24-05:26+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/ # help

Built-in commands:
-------------------
        . : break cd chdir continue eval exec exit export false hash
        help local pwd read readonly return set shift times trap true
        type ulimit umask unset wait [ ash awk brctl busybox cat cp date
        df echo egrep env fuser getty grep hexdump hostname ifconfig
        init insmod kill killall klogd linuxrc login ls lsmod mkdir mount
        ping ping6 ps reboot rm rmmod route sed sh test top traceroute
        umount wget

/ # 
/ # cd /tmp
/var/tmp # ls | grep cfg
db_backup_cfg.xml
/var/tmp # cat db_backup_cfg.xml | grep admin   






/var/tmp # exit
Connection closed by foreign host.

怎么样?是不是很简单,老实说我也没想到。

不过有的时候就是这样,事情远远没有你预想的那么复杂。

而我接下来要做的就是,慢慢的花点时间研究下这个嵌入式的微型机,姑且这么叫它吧。

要知道,我对小型机是很有兴趣的。我想现在,通过web 界面使用超级用户帐号管理光猫已经远远不能吸引我了。

比起shell,那只能是too simple.

至此,一日之内,两台光猫被拿下。