攒一个车机可能有三拨人:攒系统的,通用软件厂商,车厂自己的软件外包。这么一个缝缝补补的怪物,出现3不管地带很常见。千万别把车厂的软件品控想的太牛逼,尤其是国内车厂,外包的质量更不用说了。
系统升级C这台车机,做的相对还算不错的。系统升级可以本地以及网络,本地升级的话需要去下载升级包。网络升级的话联网后直接通过网络匹配版本,然后下载升级包。不过可惜的是,人家的升级包都是加密的。嗯嗯,搞不清楚解密方法之前,这个地方无从下嘴。
app个体的的升级呢,直接砍掉了。只能通过大版本的升级来升级单个app。
此路不通。我们看下一个。
webview通过前面的抓包分析,http请求不少,但是触发webview解析的不多,不少都是json数据。序列化漏洞?嗯嗯,想法不错。
在一个隐私资料里面,发现一个url可以点击,看起来点击就打开一个类似浏览器的东西。只不过域名写死的。这个肯定也难不倒我们。dns劫持就可以了。随便写个alert的页面测试下是不是可以执行js,失望了,并没有弹框。我们浏览器的大牛研究了端时间发现没有可利用的漏洞,放弃了。
不过到这一步,并不全是没有收获,我们自己改造了一个黑盒流量分析的工具出来,实现http的自动保存、dns的劫持以及泛域名的劫持、路由劫持等。
这条路也不通啊,再往下看呗。
内置应用C车机主界面可拉起的内置应用很少,除了地图、音乐这些常规的并没有太多可发挥的空间。
系统bug在有些沮丧的时候,有一个好玩的发现。当把无线键鼠的usb接收器插到车机的usb接口时,系统会对键盘的部分按键做出反应。
在某一个特定的系统主题下面,系统会对键盘的属性键做出反应,右下角弹出一个菜单,包括壁纸、管理应用以及系统设置。看到这里我有种预感,这里应该可以搞定。
你想起来什么了?windows 3389的输入法绕过登录界面拉起cmd的利用?还是早期安卓电视可以调出系统设置菜单?
经过省略1w字的坚持不懈的人肉测试之后,终于发现,管理应用中可以调出某一个输入法的配置界面,
注:配图非原图,保密性的关系,原图没办法放出来,帮助大家理解下这个流程。
这个输入法的设置按钮可以拉起“语音和输入法”的界面,然后点击“语音和输入法”,就返回了系统设置界面。
到这里却被卡住了,应用程序界面并没有安装的按钮。
肯定不能在这里放弃啊,搞来搞去,发现在设置界面有个主屏幕的选项,进去之后,看到几个启动器,选择名字是“启动器”的那个启动器,回到主界面,哈哈,主界面变空白了,右边出现了那个久违的代表应用程序的按钮。
想象下,空也没只有红框里的程序按钮。点击,桃花源出来了。
系统所有的安装的应用程序都在这里了。
接触式getshell应用程序里面有三个引起了我们的注意,一个叫“工程模式”,一个是ES文件管理器,还有一个叫“安装”。
ES文件管理器版本不高,存在漏洞,但是权限不够,无法安装应用。
工程模式,拉起一看,像是内部测试用的应用。在其中一个菜单中发现连接ADB,点击,接上USB,果然adb出来了。更要命的是,居然是root。
通过adb,我们拉下来车机内的所有的app进行分析,幸运的还找到了一个解密后的升级包。这下就可以进行静态分析了。
到这里,已经差不多了,还有一个“安装”没有看。
负责移动安全的同学看了下逆向的的“安装”app,发现只要在u盘特定目录下的应用程序就可以进行安装。安装应用也搞定了。
近场攻击