[翻译]逆向Google Voice设备OBi200 (一)
逆向Google Voice设备OBi200 (一)
首先,大概了解一下这个OBi200到底是什么东西。以下是一些摘自Obi200官网的内容:
拥有Obi200,你就可以掌控你的数字or模拟通信交流。通过经由ObiTALK网络连接的终端或是VoIP服务,你将能呼叫和接听电话、收发传真, 以及桥接移动、 固定线路和网络电话服务。OBi200 支持T.38传真标准的可靠的传真呼叫。
主要特征:
>同时支持4个SIP账户在线
>通过Phone接口接入扩展服务
>4 SIP和1 OBiTALK服务聚合/桥接
>自动话务简化呼叫路由
>自动回拨服务

OK,以下为正文:
Obi200为集成Google Voice的家用/家居办公VoIP网关。它支持大多数标准VoIP功能并且能整合任何便携设备的SIP服务。我在今年早些时候买了一个作为家庭座机,到目前为止,一切正常。在进一步使用之前,我决定深入探究其工作原理。
固件分析
进入设备,打开Web界面,我做的第一件事便是查看预装固件版本:

由上图,Obi200 预装固件为3.0.1(Build:4492)。从Obihai网站查询得知,最新版本为3.1.1(Build:5463EX)——显然,我的固件有待更新。不过,我并没有立即升级,或许能从旧固件中发现某些被修复的漏洞呢。
接下来,我从Obi网站上获得了固件。虽未能找到与我的设备完全对应的版本,不过3.0.1(Build:4738)这个版本对于我的目标已经够接近了。经binwlak扫描,得到如下结果:

注意到上图显示,存在Squashfs Image以及ARM uImage文件。这看起来有希望进行更进一步的探究,于是我将他们解压到我的本地文件系统上。

通过对这些文件,我得以更进一步地了解到其底层实现。这是/etc/passwd 文件:
root::0:0:root:/root:/bin/sh bin:*:1:1:bin:/bin: daemon:*:2:2:daemon:/usr/sbin: sys:*:3:3:sys:/dev: adm:*:4:4:adm:/var/adm: lp:*:5:7:lp:/var/spool/lpd: sync:*:6:8:sync:/bin:/bin/sync shutdown:*:7:9:shutdown:/sbin:/sbin/shutdown halt:*:8:10:halt:/sbin:/sbin/halt mail:*:9:11:mail:/var/spool/mail: news:*:10:12:news:/var/spool/news: uucp:*:11:13:uucp:/var/spool/uucp: operator:*:12:0:operator:/root: games:*:13:100:games:/usr/games: ftp:*:15:14:ftp:/var/ftp: man:*:16:100:man:/var/cache/man: nobody:*:65534:65534:nobody:/home:/bin/sh
注意:上传附件及图片大小不得大于30M。
⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。
