车联网安全WEB靶场实测
序言
车联网跟WEB安全相关联的地方不多,车联网更多还是基于IOT安全。但是车联网安全也和WEB安全有密切相关的地方,比如云安全、API安全等。近两年的智能网联汽车从IVI(车载信息娱乐系统)、OTA服务器、控车APP、控车小程序等大量依赖各种API来控制和下发指令。这些API如果没有做好安全评估可能会导致攻击面的产生给汽车造成安全风险。
忽视API安全所造成的的安全风险
2023年1月3日Sam Curry领导的研究团队披露了将近20家汽车制造商和服务包含API安全漏洞,这些漏洞可能允许黑客执行恶意活动,从解锁、启动和跟踪汽车到暴露客户的个人信息。这些安全漏洞影响了知名品牌,包括宝马、劳莱斯、梅赛德斯-奔驰、法拉利、保时捷、捷豹、路虎、福特、起亚、本田、英菲尼迪、日产、讴歌、现代、丰田和创世纪。
漏洞摘要
起亚、本田、英菲尼迪、日产、讴歌
- 完全远程锁定、解锁、发动机启动、发动机停止、精确定位、闪光灯和仅使用 VIN 号的车辆鸣喇叭
- 通过 VIN 号码(姓名、电话号码、电子邮件地址、实际地址)进行完全远程帐户接管和 PII 披露
- 能够将用户锁定在远程管理他们的车辆之外,改变所有权
- 特别是对于起亚,我们可以远程访问 360 度摄像头并查看汽车的实时图像
奔驰
- 通过配置不当的 SSO 访问数百个关键任务内部应用程序,包括……
- SSO 背后的多个 Github 实例
- 公司范围内的内部聊天工具,能够加入几乎任何频道
- SonarQube,詹金斯,杂项。搭建服务器
- 用于管理 AWS 实例的内部云部署服务
- 内部车辆相关 API
- 多个系统上的远程代码执行
- 内存泄漏导致员工/客户 PII 泄露、帐户访问
- 通过配置不当的 SSO 访问数百个关键任务内部应用程序,包括……
现代、创世纪
- 完全远程锁定、解锁、发动机启动、发动机停止、精确定位、闪光灯和仅使用受害者电子邮件地址的喇叭车辆
- 通过受害者电子邮件地址(姓名、电话号码、电子邮件地址、实际地址)进行完全远程帐户接管和 PII 披露
- 能够将用户锁定在远程管理他们的车辆之外,改变所有权
宝马、劳斯莱斯
- 公司范围内的核心 SSO 漏洞使我们能够像任何员工一样访问任何员工应用程序,使我们能够……
- 访问内部经销商门户,您可以在其中查询任何 VIN 号码以检索 BMW 的销售文件
- 代表任何员工访问锁定在 SSO 后面的任何应用程序,包括远程工作人员和经销商使用的应用程序
- 公司范围内的核心 SSO 漏洞使我们能够像任何员工一样访问任何员工应用程序,使我们能够……
法拉利
- 任何法拉利客户帐户的完全零交互帐户接管
- IDOR 访问所有法拉利客户记录
- 缺乏访问控制,允许攻击者创建、修改、删除员工“后台”管理员用户帐户和所有能够通过 CMS 系统修改法拉利拥有的网页的用户帐户
- 能够在 api.ferrari.com(rest-connectors)上添加 HTTP 路由并查看所有现有的 rest-connectors 和与之关联的秘密(授权标头)
斯皮龙
- 多个漏洞,包括:
- 拥有对全公司管理面板的完全管理员访问权限,能够向大约 1550 万辆汽车发送任意命令(解锁、启动引擎、禁用启动器等)、读取任何设备位置以及刷新/更新设备固件
- 在用于管理用户帐户、设备和车队的核心系统上执行远程代码。能够访问和管理整个 Spireon 的所有数据
- 完全接管任何车队的能力(这将使我们能够跟踪和关闭许多不同大城市的警察、救护车和执法车辆的启动器,并向这些车辆发送命令,例如“导航到此位置”)
- 对所有 Spireon 产品的完全管理权限,包括以下……
- 金星 - https://www.spireon.com/products/goldstar/
- LoJack - https://www.spireon.com/products/goldstar/lojackgo/
- FleetLocate - https://www.spireon.com/products/fleetlocate-for-fleet-managers/
- NSpire - https://www.spireon.com/spireon-nspire-platform/
- 预告片和资产 - https://www.spireon.com/solutions/trailer-asset-managers/
- 总共有……
- 1550 万台设备(主要是车辆)
- 120 万个用户帐户(最终用户帐户、车队经理等)
- 多个漏洞,包括:
福特
- 量产车 Telematics API 的完整内存泄露
- 披露客户 PII 和访问令牌,以便在车辆上跟踪和执行命令
- 公开用于与远程信息处理相关的内部服务的配置凭证
- 能够对客户帐户进行身份验证并访问所有 PII 并对车辆执行操作
- 通过不正确的 URL 解析接管客户帐户,允许攻击者完全访问受害者帐户,包括车辆门户
- 量产车 Telematics API 的完整内存泄露
复活者
- 完全超级管理访问权限,可以管理所有 Reviver 连接车辆的所有用户帐户和车辆。攻击者可以执行以下操作:
- 跟踪物理 GPS 位置并管理所有 Reviver 客户的车牌(例如,将车牌底部的标语更改为任意文本)
- 将任何车辆状态更新为“STOLEN”,更新车牌并通知当局
- 访问所有用户记录,包括人们拥有的车辆、他们的实际地址、电话号码和电子邮件地址
- 访问任何公司的车队管理功能,定位和管理车队中的所有车辆
- 完全超级管理访问权限,可以管理所有 Reviver 连接车辆的所有用户帐户和车辆。攻击者可以执行以下操作:
保时捷
- 能够通过影响车辆远程信息处理服务的漏洞发送检索车辆位置、发送车辆命令和检索客户信息
丰田
- 丰田金融的 IDOR,披露任何丰田金融客户的姓名、电话号码、电子邮件地址和贷款状态
捷豹、路虎
- 用户帐户 IDOR 泄露密码哈希、姓名、电话号码、实际地址和车辆信息
SiriusXM 联网车辆服务
- 泄漏的 AWS 密钥具有完整的组织读/写 S3 访问权限,能够检索所有文件,包括(似乎是)用户数据库、源代码和 SiriusXM 互联车辆服务的配置文件
更为详细的报告可以查看原版报告 https://samcurry.net/web-hackers-vs-the-auto-industry/ 这里就不详细说明了,后续可能会对漏洞风险点做一个详细梳理。
靶场安装
我们言归正传,开始我们的主题内容《靶场实测》。
首先安装docker,然后依次执行如下命令即可完成安装。
curl -o docker-compose.yml https://raw.githubusercontent.com/OWASP/crAPI/develop/deploy/docker/docker-compose.yml
VERSION=develop docker-compose pull
VERSION=develop docker-compose -f docker-compose.yml --compatibility up -d

靶场实测
下面我们根据官方提示文档来一步一步进行测试。
首先打开靶场
http://localhost:8888/login

可以看到页面上面有一个登录和注册,接下来开始测试漏洞。
挑战 1 - 访问其他用户车辆的详细信息
注册一个邮箱为test@test.com,密码为1qaz@WSX的用户

打开主页绑定车辆(邮件在http://localhost:8025)


点击刷新车辆位置抓包

会看到回显了车辆的经纬度
{"carId":"db0126ae-e7eb-42c6-87a2-76e5ab3ed5b0","vehicleLocation":{"id":1,"latitude":"33.7967129","longitude":"-84.3909149"},"fullName":"test"}
那么我们尝试修改vehicle后面的ID值,再次发包会不会可以获取到其他车辆的经纬度信息。
/identity/api/v2/vehicle/db0126ae-e7eb-42c6-87a2-76e5ab3ed5b0/location
点击社区并抓包,可以看到存在其他用户

响应包里面包含了其他用户的vehicleid值
[{"id":"qwWAGHstR4ir6eAzteeDh6","title":"Title 3","content":"Hello world 3","author":{"nickname":"Robot","email":"robot001@example.com","vehicleid":"1d1a3f59-4b46-4ff5-a1d4-517768fa3d43","profile_pic_url":"","created_at":"2023-02-06T08:38:27.917Z"},"comments":[],"authorid":3,"CreatedAt":"2023-02-06T08:38:27.917Z"},{"id":"Fw3zFFyJWquZKDyUL9Ga8n","title":"Title 2","content":"Hello world 2","author":{"nickname":"Pogba","email":"pogba006@example.com","vehicleid":"3359dd8d-6edf-4a35-88b6-08171e96829a","profile_pic_url":"","created_at":"2023-02-06T08:38:27.915Z"},"comments":[],"authorid":2,"CreatedAt":"2023-02-06T08:38:27.915Z"},{"id":"tYMxYMqZBaJKdeCUtvFEVV","title":"Title 1","content":"Hello world 1","author":{"nickname":"Adam","email":"adam007@example.com","vehicleid":"56a68c3f-683d-44ef-8219-89c458992b8f","profile_pic_url":"","created_at":"2023-02-06T08:38:27.906Z"},"comments":[],"authorid":1,"CreatedAt":"2023-02-06T08:38:27.906Z"}]
只要输入其他用户的vehicleid值即可在响应中获取到其他用户的车辆经纬度和用户名等信息。

挑战 2 - 访问其他用户的维修报告
在主页点击报修,可以看到一个提交报修信息表单


我们提交之后查看响应包可以得到我们的报修信息链接http://localhost:8888/workshop/api/mechanic/mechanic_report?report_id=1,修改链接后面的report_id值即可查看其他车辆的报修信息。


挑战 3 - 重置不同用户的密码
在注册的时候我们可以得知用户登录是通过邮箱地址和密码进行登录。在车辆经纬度信息泄露中我们点击社区响应包里面可以看到其他用户的邮箱地址。

既然得到了用户的邮箱地址,那么我们就可以对用户进行找回密码操作。

尝试爆破验证码几次之后发现存在限制。

尝试修改接口POST /identity/api/auth/v2/check-otp把V3修改为V2进行爆破。

挑战 4 - 找到泄露其他用户敏感信息的 API 端点
这个应该就是泄露邮箱和用户名id的API/community/api/v2/community/posts/recent

挑战 5 - 找到泄漏视频内部属性的 API 端点
这个应该就是上传视频泄露了内部的参数名conversion_params,然后可以利用这个参数名进行命令执行,没复现成功命令执行。


挑战 6 - 使用“接触机械”功能执行第 7 层 DoS
这个是在维修提交那里。

repeat_request_if_failed修改为true,number_of_repeats修改成大数值。
Service unavailable. Seems like you caused layer 7 DoS :)

挑战 7 - 删除其他用户的视频
编辑视频名字可以抓到一个PUT包。


把PUT修改为DELETE提示这是一个管理接口

尝试把接口中的user修改为admin
DELETE /identity/api/v2/admin/videos/30 HTTP/1.1
成功删除自己的视频。

修改后面的ID值,成功删除其他人的视频。

挑战 8 - 免费获得一件物品
crAPI 允许用户退回他们订购的商品。您只需单击“退货订单”按钮,收到二维码并在 USPS 商店出示即可。要解决这个难题,您需要找到一种方法来获得您实际上并未退回的商品的退款。
购买完商品然后点击查看,可以看到一件商品,

点击可以查看商品详情

尝试修改,成功修改商品数量

挑战 9 - 将余额增加 1,000 美元或更多
首先修改商品数量

然后修改商品状态

在查看商品余额已经成功增加

SSRF
SSRF在车辆维修提交处

抓包,然后修改mechanic_api参数

成功触发SSRF

在线靶场和参考答案
后面跟API安全关系不多就不写了,如果不想安装docker也可以通过在线靶场进行测试,参考答案可以参考官网的文档。
参考:
https://www.bleepingcomputer.com/news/security/toyota-mercedes-bmw-api-flaws-exposed-owners-personal-info/
https://samcurry.net/web-hackers-vs-the-auto-industry/
车联网安全WEB靶场实测的更多相关文章
- Web文件上传靶场 - 通关笔记
Web应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...
- web渗透漏洞靶场收集
最近将自己遇到过或者知道的web靶场链接奉上 0X01 DVWA 推荐新手首选靶场,配置简单,需下载phpstudy和靶场文件包,简单部署之后即可访问. 包含了常见的web漏洞(php的),每个漏洞分 ...
- 记一次metasploitable2内网渗透之samba服务的攻击
80端口中对应一些web靶场,在这里不记录 111端口的利用是向rpcbind服务的UDP套接字发送60字节载荷,便可填充目标内存,搞崩主机系统.在这里也不记录 Samba服务简介 Samba是在Li ...
- CTF丨从零开始搭建WEB Docker靶场
第十二届全国大学生信息安全竞赛即将开始,小伙伴们有报名参加的吗?大家在比赛前是否开始进行模拟演练了?今天,i春秋将与大家分享靶场搭建的相关内容,帮助大家更好的进行实操演练. 学习搭建Docker靶场之 ...
- (未完)经典Web漏洞实战演练靶场笔记
记录下自己写的经典Web漏洞靶场的write up,包括了大部分的经典Web漏洞实战场景,做个笔记. 0x01 任意文件下载漏洞 if(!empty($_GET['filename'])){ $fil ...
- 搭建DVWA Web渗透测试靶场
文章更新于:2020-04-13 按照惯例,需要的文件附上链接放在文首. 文件名:DVWA-1.9-2020.zip 文件大小:1.3 M 文件说明:这个是新版 v1.9 (其实是 v1.10开发版) ...
- Web For Pentester靶场(xss部分)
配置 官网:https://pentesterlab.com/ 下载地址:https://isos.pentesterlab.com/web_for_pentester_i386.iso 安装方法:虚 ...
- 推荐一个Web漏洞靶场
https://github.com/zhuifengshaonianhanlu/pikachu 暂时先空着 安装好是这样的 博主先去玩了,回来再写博客,2333
- Web性能优化:图片优化
程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...
- 千万pv大型web系统架构,学习从点滴开始
架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 ...
随机推荐
- OSI传输层TCP与UDP协议、应用层简介、socket模块介绍及代码优化、半连接池的概念
目录 传输层之TCP与UDP协议 应用层 socket模块 socket基本使用 代码优化 半连接池的概念 传输层之TCP与UDP协议 TCP与UDP都是用来规定通信方式的 通信的时候可以随心所欲的聊 ...
- 【Devexpress】gridcontorl实现复制多个单元格
1.设置复制的时候不复制标题在OptionsClipboard.CopyColumnHeaders=false 2.设置选择的方式为按照单元格选择,以及可以多选 OptionsSelection.Mu ...
- oracle 内置函数(三)日期函数
日期函数概要: 系统时间 日期操作 一.系统时间 sysdate:还是西方的格式,我们一般需要to_char(date,'yyyy-mm-dd hh24:mi:ss') next_day:当前日期的下 ...
- 微信小程序实战,基于vue2实现瀑布流
1.什么是瀑布流呢? 瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部. 瀑布流对于图片的展现, ...
- 【SQL基础】多表查询:子查询、连接查询(JOIN)、组合查询(UNION集合运算)
〇.概述 1.内容 JOIN表连接(内连接INNER JOIN/JOIN)(外连接LEFT/RIGHT (OUTER) JOIN) 集合运算-UNION联合 2.建表语句 drop table if ...
- jQuery使用 前端框架Bootstrap
目录 jQuery查找标签 1.基本选择器 2.组合选择器 3.后代选择器 4.属性选择器 5.基本筛选器 7.筛选器方法 链式操作的本质 操作标签 1.class操作 2.位置操作 3.文本操作 4 ...
- C#关于委托的一些事,开发日志
----- 委托是什么------ 其实委托事件很好理解,就当成是c语言中的函数指针或者是回调函数,或者说换种理解方式,信号和槽?触发器和接收器?总之就是一个地方调用了这个函数,那么在另一个地方也会调 ...
- 微服务组件-----Spring Cloud Alibaba 注册中心Nacos的CP架构Raft协议分析
前言 本篇幅是继 注册中心Nacos源码分析 的下半部分. 意义 [1]虽说大部分我们采用注册中心的时候考虑的都是AP架构,为什么呢?因为性能相对于CP架构来说更高,需要等待的时间更少[相对于CP架 ...
- 模板层之标签 自定义过滤器及标签 模板的继承与导入 模型层之前期准备 ORM常用关键字
目录 模板层之标签 if判断 for循环 自定义过滤器.标签及inclusion_tag(了解) 前期三步骤 自定义过滤器(最大只能接收两个参数) 自定义标签(参数没有限制) 自定义inclusion ...
- 【博学谷学习记录】超强总结,用心分享|前端CSS总结(一)
CSS总结(一) shift+alt,选中多行 外链式 <link rel="stylesheet" href="./my.css"> 1 选择器 ...