我最有意思的黑客经历是黑掉特斯拉 Model 3。这款车型具备内置 web 浏览器、免费的优质 LTE,以及无线软件更新功能。这款车型就像是装了联网计算机的车轮,运转飞快。

今年年初我打算买一辆,买来后很高兴地摆弄驾驶了一番。我一直待在车库里捣鼓,让它做一些有悖于其用途的事,所幸最后发现了一些有意思的点。

2019年4月

我玩的第一个功能是Model 3 的“命名你的车辆”功能。该功能是让用户为爱车起个昵称并保存到用户账户,这样用户就会在移动 app 上看到发出的通知(如充电完成)。

最开始,我起的昵称是“%x.%x.%x.%x”,想看看它是否易受如 2011宝马 330i 曾受到的格式字符串攻击,但没发现什么异样。

之后我又花了点时间摆弄输入,发现允许输入的内容长度非常长。我决定将昵称改为“myXSS hunter payload”,之后又开始把玩车辆的其它功能。

我还花了很长的时间摆弄内置 web 浏览器。虽然在远程的情况下我也奈何不了该功能,但在让它加载文件或奇怪的 URI 方面还是得到了不少乐趣。

当天晚上没发现什么异常情况,于是就此收手。不过我忘了已经把昵称设置为 blind XSS payload。

2019年6月

在一次旅途中,一块不知来自何方的巨石砸破了挡风玻璃。

于是我使用了特斯拉提供的 app 支持功能预约了售后并继续驾驶。

一天后,我收到的回复称有人正在调查此事。我查看了”myXSS hunter”后发现了非常耐人寻味的东西。

受影响页面 URL:

https://garage.vn.teslamotors.com/vehicles/695057517/vitals

Execution Origin

https://garage.vn.teslamotors.com

Referer

https://garage.vn.teslamotors.com/vehicles/5YJ31337

响应了被砸破的挡风玻璃的其中一个代理在“garage.vn.teslamotors.com”域名上下文中“点燃”了我的 XSS hunter payload。

这太让人兴奋了。

附加在 XSShunter 的截屏显示,该页面用于查看车辆的重要数据并可通过 URL 增量车辆 ID 进行访问。参照的头部信息参数是车辆的 VIN 号码。

XSS 漏洞针对的是用于拉动特拉斯车辆管理的仪表盘。

附加的 XSShunter 截屏中显示出当前的车辆信息,如车速、温度、版本号、轮胎压力等,车辆是否被锁定、发出警报等细节信息。

    VIN: 5YJ3E13374KF2313373CarType: 3 P74DBirthday: Mon Mar 11 16:31:37 2019CarVersion: develop-2019.20.1-203-991337dCarComputer: iceSOE/ USOE: 48.9, 48.9 %SOC: 54.2 %Idealenergy remaining: 37.2 kWhRange: 151.7 miOdometer: 4813.7 milesGear: DSpeed: 81 mphLocalTime: Wed Jun 19 15:09:06 2019UTCOffset: -21600Timezone: Mountain Daylight TimeBMSState: DRIVE12VBattery Voltage: 13.881 V12VBattery Current: 0.13 ALocked?: trueUIMode: comfortLanguage: EnglishServiceAlert: 0X0

    另外,还有一些关于固件、CAN 查看器、地理围栏位置、配置和听起来很有意思的内部代码名称,如“Tesladex 信息”。

    我尝试浏览 URL “garage.vn.teslamotors.com”但被提示超时,因此它很可能是一个内部应用。

    耐人寻味的是,实时支持代理能够将更新发送给汽车并很有可能修改车辆配置。我猜测该功能基于 DOM 中的不同超链接。虽然我并未尝试该功能,但攻击者可能通过=发送至核心端点的增量 ID,提取并修改其它车辆的信息。

    如果我是尝试实施攻陷行为的攻击者,我很可能必须提交一些支持请求,但我最终将通过查看 DOM 和 JavaScript 来获悉足够的环境知识,并伪造请求为所欲为。

    漏洞报告

    在凌晨快2点时(驾驶了11个小时),我向特斯拉漏洞奖励计划发送漏洞报告。他们将报告定为 P1级做了注释并在12小时内推出热补丁。

    我无法复现这种情况。两周左右之后,特斯拉颁发了1万美元的奖励金并表示我提出的疑问是一个严重问题。

    回过头来想想,这个问题非常简单但确实是长期遭忽视。尽管我无法确认该漏洞的真正影响,但似乎影响巨大,至少可导致攻击者查看车辆的实时信息,很可能也可以查看客户的信息。

    时间轴

    • 2019年6月20日06:27:30 (UTC):提交报告

    • 2019年6月20日 20::35:35 (UTC):确认问题并推出热补丁

    • 2019年7月11日16:07:59 (UTC):颁发奖金,解决漏洞

    最后,我认为特斯拉的漏洞奖励计划非常棒,他们为尝试黑掉特斯拉的善意研究人员提供了安全港。如果你不幸搞砸了,他们甚至还提供支持以修复该问题。

    原文链接

    https://samcurry.net/cracking-my-windshield-and-earning-10000-on-the-tesla-bug-bounty-program/

    声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。