白帽故事 · 2024年7月24日 0

国外车企安全渗透案例【3】– 发现法拉利、宝马、劳斯莱斯、保时捷等车企关键漏洞

Reviver 上的批量分配漏洞

2022年10月,加州宣布数字车牌合法化。白帽团队对此进行了一段时间的研究,发现大多数数字车牌都是通过一家名为 Reviver 的公司完成的。

file

如果有人想要数字车牌,他们会购买虚拟 Reviver 车牌,其中包括用于远程跟踪和更新车牌的 SIM 卡。

使用 Reviver 的客户可以远程更新他们的车牌标语、背景,并通过将车牌标签设置为“STOLEN”来报告汽车是否被盗。

file

由于车牌可以用来追踪车辆,于是白帽团队开始审核 Reviver 移动应用程序。

通过代理 HTTP 流量,发现所有 API 功能都是在“pr-api.rplate.com”网站上完成的。

创建用户帐户后,用户帐户会被分配给一个唯一的“company”JSON 对象,该对象允许将其他子用户添加到自己的帐户中。

“company” JSON 对象非常有趣,因为可以更新对象中的许多 JSON 字段。这些字段之一称为“type”,默认设置为“CONSUMER”。

注意到这一点后,白帽团队深入研究了应用程序源代码,希望能够找到另一个值来设置它,但最终没能成功。

此时,白帽团队想知道是否有一个实际的网站可以与他们交互,而不是通过移动应用程序代理流量。他们在网上查了一会儿,然后想到对帐户执行重置密码,这可以顺利的导航到一个 URL。

打开密码重置 URL 后,白帽团队发现该网站具有大量功能,包括管理车辆、车队和用户帐户的能力。这就很有趣了,因为现在有了更多的 API 端点和功能可以访问。

此外,网站上的 JavaScript 似乎包含了白帽团队的用户帐户可能具有的其他角色的名称(例如user、moderator、admin等)。

通过查询 JavaScript 中的“CONSUMER”字符串,发现 JavaScript 中还定义了其他角色。在尝试将自身的“role”参数更新为公开的“CORPORATE”角色后,刷新个人资料数据后,发现居然成功了!

能够顺利地将角色更改为默认用户帐户以外的其它角色,从而为潜在的权限升级漏洞打开了大门。

但是即便将帐户更新为“CORPORATE”角色,但在登录网站时仍会收到授权错误提示。

白帽团队思考了一段时间后,意识到可以通过邀请用户功能,向受邀请的用户授予所需的权限,因为这是通过预期方式邀请的,而不是将帐户批量分配给提升的角色。

邀请新帐户、接受邀请并登录帐户后,发现不再收到授权错误提示,并且可以正常访问车队管理功能。

这意味着可以将白帽团队的帐户批量分配给更高级别的角色(例如admin),然后邀请其它用户加入白帽团队的帐户,该用户将会被分配适当的权限。

白帽团队猜测系统中可能存在一些尚未识别的管理组,于是他们使用字典对“type”参数进行模糊测试,最终发现将组设置为数字“4”时,会将角色更新为“REVIVER_ROLE”。

看来角色是用数字索引的,于是通过简单地遍历数字 0-100 便能够找到所有角色。

“0”角色是字符串“REVIVER”,在帐户上设置它并重新邀请新用户后,发现用户界面完全不可用,用户根本无法单击任何按钮。

白帽团队猜测,虽然具有管理员角色,但访问帐户时使用的是面向客户的前端网站,而不是相应的管理员前端网站。所以必须找到管理员使用的网站才可以。

由于管理员帐户理论上具有更高的权限,因此白帽团队的第一个测试是查询用户帐户并查看是否可以访问其他人的数据:有效!

同时管理员帐户可以进行任何正常的 API 调用(查看车辆位置、更新车牌、向帐户添加新用户),并使用具有完全授权的超级管理员帐户执行操作。

白帽团队报告了该漏洞,并观察到该漏洞在 24 小时内得到了修复。因为真正的攻击者可以远程更新、跟踪或删除任何人的 REVIVER 面板。

另外该漏洞还可以访问任何经销商(例如,梅赛德斯-奔驰经销商通常会包装 REVIVER 牌照),并在新购车辆仍带有‘DEALER ’标签时更新经销商使用的默认图片。

file

file

file

Reviver 网站还提供了可以完全访问的车队管理功能。

现代和Genesis的全面远程车辆访问和帐户接管

该漏洞已在 Twitter 上发布,可通过以下方式访问:

(我们最近发现了一个影响 Hyundai 和 Genesis 车辆的漏洞,我们可以远程控制 2012 年之后生产的车辆的锁、发动机、喇叭、前灯和行李箱)

https://x.com/samwcyo/status/1597695281881296897

file

本田、日产、英菲尼迪、讴歌的全面远程车辆访问和帐户接管

该漏洞同样已在 Twitter 上发布,可通过以下方式访问:

(今年早些时候,我们能够远程解锁、启动、定位、闪光和鸣喇叭任何远程连接的本田、日产、英菲尼迪和讴歌车辆,完全未经授权,只知道汽车的 VIN 号)

https://x.com/samwcyo/status/1597792097175674880

file

通过批量分配对尼桑进行整车接管

该漏洞同样已在 Twitter 上发布,可通过以下方式访问:

(早上好,我觉得我们需要更多的汽车黑客,这是我们发现的另一个漏洞,它可以让我们在每个连接互联网的日产和英菲尼迪上执行远程命令。漏洞已修复)

https://x.com/_specters_/status/1597984481511903234

file

以上内容由骨哥翻译并整理。

原文:https://samcurry.net/web-hackers-vs-the-auto-industry#1-full-account-takeover-on-bmw-and-rolls-royce-via-misconfigured-sso