车联网安全之——如何通过挡风玻璃远程控制汽车

admin 2023年1月7日14:37:15评论21 views字数 2095阅读6分59秒阅读模式
              猩红实验室  欢迎投稿分享交流
        

免责声明:该⽂章仅供安全学习和技术分享,请勿将该⽂章和⽂章中提到的技术⽤于违法活动上,切勿在⾮授权状态 下对其他站点进⾏测试,如产⽣任何后果皆由读者本⼈承担,与猩红实验室⽆关!如有侵权,联系删除,转载请注明出处,感谢!

文译自Twitter,该漏洞由Yuga Labs安全研究员Sam Curry公开,Sirius XM已修复该漏洞。


在实际的研究过程中,我们发现了一些可以影响不同品牌的汽车漏洞。进一步探究发现,这些汽车都是由同一家公司提供的云服务。那么到底是哪家公司为这些汽车提供的云服务呢?

车联网安全之——如何通过挡风玻璃远程控制汽车
经过我们一番信息收集之后,发现了一个不断在汽车远程信息相关的文档和源代码中出现的高频词:"Sirius XM"。
后经资料查验这里主要是Sirius XM构建的Connected Vehicle Services,该套件主要提供一系列功能,例如自动碰撞通知、增强的路边援助、远程开门、远程启动、被盗车辆恢复援助、逐向导航等等。

车联网安全之——如何通过挡风玻璃远程控制汽车

我们找到了Sirius XM Connected Vehicle的官网,首先映入眼帘的就是以下内容:
“[SiriusXM]是为讴歌、宝马、本田、现代、英菲尼迪、捷豹、路虎、雷克萨斯、日产、斯巴鲁和丰田提供互联汽车服务的领先供应商。”

车联网安全之——如何通过挡风玻璃远程控制汽车

车联网安全之——如何通过挡风玻璃远程控制汽车

没想到这么多品牌的汽车用的都是由同一家公司提供的云服务,为了获得更多的SiriusXM的信息,我们对使用了SiriusXM的app进行逆向分析,并且在网上搜索相关的资料,最终我们找到了一个域名"telematics.net"。通过谷歌语法搜索后发现,它是用来处理SiriusXM远程管理功能中车辆登记的服务。

车联网安全之——如何通过挡风玻璃远程控制汽车


在对一些app进行反编译查看源码后,我们发现名为NissanConnect的app大量引用了SiriusXM。为了更深入的了解该app,我们联系了一名日产汽车的车主,使用他的账号登陆app,尝试抓包分析该app的HTTP流量。

车联网安全之——如何通过挡风玻璃远程控制汽车

在捕获了大量的流量包后我们发现了一条比较有趣的http请求:"exchangeToken"节点返回的是基于"customerId"的持有人令牌。在对该请求做模糊测试时发现,移除了"vin"参数之后该返回值依然正常。
也就是服务器端并没有对"vin"字段进行校验,因此这里猜测可以通过构造或社工的方式获取他人customerId的方式造成越权。

车联网安全之——如何通过挡风玻璃远程控制汽车

既然移除"vin"之后可以正常返回,那其他的字段可不可以进行修改呢?我们继续尝试了修改其他参数,但是都报错了,原因在于标识符的"Cv-Tsp"头中有一个"nissancust"的前缀,它指定了"NISSAN_17MY",也就是说不能随意构造参数,改变任何一个参数都会报错。
看来这个节点目前没有好的利用思路了,所以我们换了一个明显的IDOR(Insecure Direct Object Reference),并把该请求的"customerId"参数改为了另一个车主的"cusomerId",结果返回授权错误,暂时先把它放一边再看看其他节点。

车联网安全之——如何通过挡风玻璃远程控制汽车


在另一个HTTP报文中,我们看到了这样的VIN号码格式:
VIN:5FNRL6H82NB044273
这种VIN格式看起来与"nissancust"前缀都来自于之前的HTTP请求,我们将带有VIN前缀的ID作为customerId发送,结果返回200OK,并返回了一个Token令牌。经过测试表明,它会将任意的VIN作为标识符进行索引,即使不使用授权参数,仍然能正常返回值,这表明他与"JWT"字段无关。

车联网安全之——如何通过挡风玻璃远程控制汽车

从上述过程中我们获得了Token令牌,并在HTTP请求中使用它来获取用户配置文件。其响应中包含了受害者姓名、电话号码、地址和汽车详细信息。我们还编写了一个简单的python脚本,用来实现获取任意VIN号的客户详细信息。
车联网安全之——如何通过挡风玻璃远程控制汽车


在此基础上继续深入挖掘,找到了运行车辆命令的HTTP请求,我们可以成功对车辆发出操控指令。也就是说,只需要知道受害者的车牌号以及挡风玻璃上的信息,就能从账户中获取用户信息,甚至执行车辆指令。

车联网安全之——如何通过挡风玻璃远程控制汽车

在后续的测试中我们发现,除了日产汽车,还可以在本田、英菲尼迪和讴歌汽车上使用此方法获取客户信息并运行车辆指令。最终我们向 SiriusXM 报告了该漏洞,他们立即修复并验证了他们的补丁。

最后概括一下整个的攻击流程:通过谷歌语法和app反编译进行信息收集,得到运行车辆登记服务的telematics.net域名,使用模糊测试的方法在exchangeToken的端点发现了customerId存在利用的可能,通过对其他端点信息的验证发现实际后端的校验方式是VIN信息,也就是说在汽车风挡的信息上拿到该汽车的VIN,通过构造customerId的方式即可获得匿名授权,进而获取该用户的信息并执行车辆命令。


    ————————end————————


            欢迎各位师傅添加本人微信一起交流学习

                           车联网安全之——如何通过挡风玻璃远程控制汽车

                 微信号Jiuwandd


原文始发于微信公众号(猩红实验室):车联网安全之——如何通过挡风玻璃远程控制汽车

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月7日14:37:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   车联网安全之——如何通过挡风玻璃远程控制汽车https://cn-sec.com/archives/1498009.html

发表评论

匿名网友 填写信息