近场的攻击思路比较明确,车机没有蓝牙只有wifi。接入车机的WIIF热点或者让车机接入我的可控的WIFI。然后进行端口扫描。端口扫描只有有限的两个端口在开放。
接触式getshell以后,才对开放了这两个端口的jar进行分析,发现这个socket协议可以写文件,并且没有检查文件名。剩下的套路就比较简单了:
还原socket协议格式。
编写poc。
不过,只能写文件其实是不够的,非接触式的情况下,我们希望写入的后门能被自动拉起运行。
疑似0day我们分析了安卓4.4 的开机流程,PMS负责应用程序的安装卸载包管理等。其中:
/data/system/users/userId/Package-restrictions.xml
这个文件记录了应用的enable或者disable的信息。
然后经过分析相关的安卓源代码,发现了一个疑似0day的漏洞,通过写入/修改特定目录的文件,就可以实现写入的应用在系统重启后被拉起的目的。
这里真的不能多说了。
结尾其实C这台车机的安全在我们看过的车机里面还算一般的,跟国外的比起来差距还不是一点的大。不过比起那些可以远程ssh的车机来说,已经算很好了。
不过关于“缝合怪”这个称呼也一点都没有叫错。系统这块安卓4.4 并不能算是很大的问题,问题在于做二次开发以及车厂自己的debug软件上存在很多的安全隐患。上层的负责导航等软件的厂商的安全水位明显比系统的高出不少,但是沙地起高楼也没什么用处。
所以还是那句话,千里之堤毁于蚁穴。永远不要小看任何一个bug,因为这个bug可能会导致你最后全军覆没。