在济宁的时候为了使用宿舍的宽带又办理了一张手机卡,至此我已经有三张中国移动的手机卡了,而这样的校园卡中包含的几百 GB 的流量套餐又实在让人觉得弃之可惜。目前手上有一部 iPhone 7 做主力机使用,iPhone 5s 做备用机接受短信使用,再也找不到其他可以用这么多流量的地方了。
于是求救万能的淘宝,以极低的价格收回来一台 锋羽 L260 移动定制版 4G CPE,有了它除去可以使用这张手机卡上的海量流量以外,还免去了在自习教室用手机开热点时遇到的种种不便。
上手后发现,这个设备的固件就很粗制滥造,管理页面没有自己的 LOGO 以外,就连 Web 页面都没有禁止目录显示,总之各处都透露着 ODM 贴牌的气息,主板更是与烽火的另一台设备长得很像。
对于这样的粗制滥造毫不精致的设备,当然让我很有折腾的欲望了。扫描了端口,发现开着 SSH 的端口,开着 Web 的端口(并不意外地…是用 mongoose 实现的),还有一个 DNS 查询的端口,标准的路由器做派。
找了一下现有的漏洞也没有找到,猜了几个业内常用的密码也没有猜对,只好从拆机做起了。
拆机
不出意外这也是网上第一次发 锋羽 L260 的拆机图吧,毕竟这种垃圾,除了我应该没有人会想要的。拆机前其实也是浮想联翩,什么 AR9341 + PCIe 4G网卡一类的方案猜测了半天,最后打开居然是这样的:
底板上唯一的 IC 是 AX88772CLF,USB 100MbE
其余所有的东西都以 Private 的方式封装在了一个小模块上。
当然模块我也有拆开,但是忘记拍照了,具体而言是这样的构成
SoC:MDM9207 Cortex A7 @ 1.3GHz
RAM & Flash:2Gb x8 SLC 1Gb x16 LPDDR2 4-bit 400MHz(实际频率260MHz)
WLAN:RTL8192ES SDIO 802.11n Adapter
这个模块上面没有留下什么额外的丝印标记,所以其实找 UART 完全是猜出来的。先做好共地,猜个波特率然后握着 RXD 的线戳来戳去直到终端上面会显示字符…
用这样的方法,把 RXD 和 TXD 都猜出来了,硬件逆向日常(
因为手上没有面包线,没有多余的杜邦线,也没有电烙铁,就只好全程握着线头…
跑完开机自检输出,就要我输入用户名和密码了,似乎输入过后就可以登录进去的样子。
所以随便复制了一小段自检内容,就在 Google 上找到了正确的用户名和密码
https://osmocom.org/projects/quectel-modems/wiki/EC25_Linux
root passwordoelinux1
, like on EC20
(粗制滥造 ODM 万岁)
试了下这个密码不仅可以用 UART 连接,还可以用 SSH 连接,那就不用继续扶着这两个线了。合盖拧螺丝。
ROOT 权限瞎搞
现在有了稳定可靠的高权限管理,该做些什么了….
以前做过路由器的页面萌化,所以跟着以前的思路就去找 WebRoot 了,这个其实路径还挺隐蔽的,找了几个常见的地方都没找到,只好用文件名直接搜索…
最后找到在 /usr/mifi/hwebserver/www 这里
可以发现路由器的功能都是用 cgi 实现的,当然先不提这些程序和静态资源的事情,我发现了更有趣的事情:
这所谓锋羽的设备,就是 Fiberhome 的换壳产品啊,不知道中间有什么不为人知的交易。(上面的密码文件是给 mongoose 用的不知道起什么作用的文件)
实际上后来逐渐发现,这里不仅仅是 Fiberhome 的事情,还卷入了一家叫做 HOJY 的厂商,还有很多给别的产品用的页面模板文件,而且代码里也是一堆屎山,就这样,光鲜亮丽下裹着一层层垃圾的产品送到了用户的手里。
关于 Web 页面乃至固件的下一步修改,放在以后再说吧。不知道还有什么垃圾需要面对…
更新
应该不会有接下来的折腾了,因为这个路由器被我玩坏了(((
不知道删改了什么文件之后,路由器开始无限自动重启,趁着它还没自动重启,我赶紧用命令 mv /sbin/shutdown /sbin/shutdown.backup 强行解决了问题(雾
在随后的研究过程中,连 web 界面都没有了,表现为web服务器没有在工作,也不知道是怎么样引发的问题,也不知道怎么样解决,手动启动web服务的话会404,所以我至少需要配置一个脚本才行,但是我没有心思再继续折腾下去了。毕竟现在至少它还能提供联网服务,失败挫伤了积极性(x…
补充
失去了了 web 界面并不等于失去了管理,所有的配置文件都写在数据库里,SQLite 的,毕竟 root 权限是一直在的,我们可以直接对数据库进行操作。
/usr/data/hojydb_mifi_config.sqlite
存放了所有的,选项类型的配置,包括一些web里面看不到的配置
/usr/data/hojydb_mifi_mifi_info.sqlite
存放所有的…文本类型的配置,包括 MAC 黑名单,短信收件箱也在这个数据库中
真是太蠢了(溜了