中国联通光猫 HG8321R 折腾小记

中国联通光猫 HG8321R 折腾小记

声明:本文根据网络资料写成,保留所有权利,如侵犯了您的权益,请留言告知。本文仅供技术参考与交流,不得用于任何非法用途,否则后果自负。


在家做全屋无线网络无死角覆盖的时候,哪儿都折腾了,可唯独没有折腾这个弱电箱的一级入口:运营商光猫。本着“不折腾毋宁死”的精神,新的征程开始了。

首先介绍一下情况,我这边是 100Mbps FTTH,联通很厚道,设备允许的情况下可以稳定跑到实际带宽的 125%,也就是 125Mbps。不过特别恶心的就是,运营商给我的光猫两个 LAN 口都是百兆的!这怎么能忍?索性跑到营业厅退掉光猫,自行解决。在这里需要注意的就是 HG8321R 这款终端版本混乱不堪,仅以我自己的经验抛砖引玉:

img

首先 HG8321R 分为大版和小版:盒子大的就是大版!

大版采用 12V 1A 供电,内存 128MB。

小版则采用 12V 0.5A 供电,内存腰斩至 64MB,同时 CPU 频率也在大版有所下降。

关于 LAN 口:

LAN 口真的是将我心情搞烂的东西,因为 HG8321R 的 LAN 口有双百兆的,比如我原来的光猫。还有一千兆一百兆的,比如我现在这个。(其实我想要双千兆的,不过家庭设备,要求也没那么多)江湖传说还有双千兆的。按道理说区分百兆千兆是用 LAN 口颜色区分的。黄色的是百兆,灰色的是千兆。 可我手里这个就是个鲜明的例子:双 LAN 口均为灰色,可只有 LAN 1 是千兆的,LAN 2 虽是灰色,可还是结结实实的百兆口。我自己的猜测是:根据各省运营商的要求定制了不同的硬件版本。

好了,电气规格就这样吧。接下来说说软件端。

没什么好说的,首先试试 Telnet 能不能进去:

img

运营商不傻,肯定不可能随便让进的,哈哈哈,料到了。

那就 HTTP 管理来看看:用背面默认的账户名密码来进入后台管理界面,没什么有趣的东西。

img

难道这就完了?不可能,直觉告诉我,一定有什么好玩的东西在后面。

好戏才刚刚开始。


上网一查,可不得了:原来 HTTP 端还有一个供运营商的高级管理界面!据我所知,各省进入这个高级后台的方式不尽相同:

192.168.1.1/CU.html

192.168.2.1/cu.html

192.168.1.1

192.168.100.1

进去之后:

img

哎呦,这可有意思了,问题就转移到一个俗套的剧情上来:用户名和密码是什么呢?这时就要想方设法得到这个 superuser 的用户名和密码了!

某搜索引擎查到的实测均无法使用,进一步测试后发现,查到的某一组用户名密码在 reset 光猫之后是可以使用的,但是输入关键参数,运营商远程下发配置之后,这个密码则会被修改为原密码加随机的八位数字!问题是:只能看到下发配置之前的光猫管理界面也没什么意义啊。

我的思路:Telnet 肯定比 HTTP 管理方式拿到的东西多得多,所以我们要想办法把 Telnet 功能打开。这里感谢 CHINADSL 论坛,在论坛上拿到了一个神奇的工具,可以强制把 Telnet 功能打开。

img

这里的网关用户名和密码为默认的 root 和 admin,还好没有在这一步难为我。

列出所有命令

?

img

尝试 su 提权

su

直接成功!此时显示

WAP>su success!

再次键入问号来查看所有命令,发现命令中多出了一个叫 shell 的东西!这就有意思了!进入 shell,是 BusyBox。

BusyBox v1.18.4 (2017-09-14 10:50:06 CST) built-in shell (ash) Enter 'help' for a list of built-in commands. profile close core dump WAP(Dopra Linux) #

这个 shell 被阉割的非常严重,连 cd 命令都没有了。所以我们需要手动刷入一个能用的 shell 吧。具体原理是远程开一个 FTP 服务器,然后在光猫端下载这个shell 文件,重启即可。

这里我用的是 Cisco 的 TFTP 软件。废了大力气找到能用的 shell。以下是操作步骤:

首先,将 shell 文件 shell.bin 保存至 Cisco TFTP 根目录备用。

然后,打开软件,点击左上方红色按钮,将 TFTP 服务器根目录 设置到保存 shell.bin 的目录。待用。

img

路由器端 su 命令提权,不要输入 shell 命令。输入

load pack by tftp svrip 192.168.1.2 remotefile shell.bin

其中 192.168.1.2 是你 TFTP 服务器的 IP 地址,根据实际情况填写,显示在软件标题栏。

显示成功后,输入 reboot 重启光猫。

至此,刷入了完整的 shell。再次进入 shell,常用命令均可用。此时可以想办法找含有密码的文件了。

在走了一些弯路后,我找到了名为 hw_ctree.xml 的文件疑似含有密码。不幸的是……

这个文件也是加密过的!!!层层加密啊!!!有完没完了!!!

经查阅资料发现,以前旧版本的 hw_ctree.xml 并没有加密,想办法下载到本机打开全都是明文。而新版光猫则将此文件在机上加密了。

以下一段是我经长时间摸索出来的方法,供大家使用。

老规矩,还是在机上建一个 FTP 服务器。自行搜索 “Win 7(或你的版本) 开启 FTP 服务器教程”即可,受篇幅所限,本文不再赘述。

刚才说了,既然是在机上加密,那就要在机上解密。

首先切换到 hw_ctree.xml 所在文件夹

cd /mnt/jffs2

copy 一下

cp hw_ctree.xml hw_ctree_tmp.xml

接下来使用 aescrypt2 命令解密此文件。(全文最重要的一个命令!)

aescrypt2 1 hw_ctree_tmp.xml hw_ctree_tmp_dec.xml

put 到远程 FTP 服务器上。(IP 为 192.168.1.*)

ftpput 192.168.1.* hw_ctree_tmp.zip hw_ctree_tmp.xml

img

get 到的文件

查找 password 字段:

有很多 password 字段,不过我们在第 1086 行找到了光猫管理员密码。

img


至此,成功进入运营商后台管理界面。

小结:

这个神器确实是比较难搞,不过凭借着“自己的光猫自己做主”的概念,还是一股作气的干掉了它。研究如何解密文件的时候,一度有种“山重水复疑无路,柳暗花明又一村”的神奇感觉。