只凭车牌,10秒接管一辆Subaru:STARLINK员工后台越权"

admin 2026-10-24 10:40:13 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

只凭车牌,10 秒接管一辆 Subaru:STARLINK 员工后台越权

黑卷
黑卷

黑卷的IoT攻防日记

2026年10月20日 15:32
上海

去阅读

只凭车牌,10 秒接管一辆 Subaru:STARLINK 员工后台越权

先把结论摆上来:2024 年 11 月,研究员 Sam Curry 和 Shubham Shah 在 Subaru 的车联网服务 STARLINK 里,找到一个员工后台的越权。

只要知道车主的姓氏加邮编,或者邮箱、电话、车牌任意一个,就能锁定全美、加拿大、日本任意一辆联网 Subaru。

能干的事不少:远程启动、熄火、上锁、解锁、定位,还能翻出这辆车过去一年的完整行驶轨迹。

更离谱的是,这里面没有什么内存破坏 0day。全靠一个「忘记密码」接口的逻辑问题,加上一个做在前端的 2FA。上报后不到 24 小时官方就修了,也确认没被恶意利用。

从 App 开始,结果 App 很稳

Sam 一年前给他妈买了辆 2023 款 Impreza,说好了借来做测试。感恩节回家,他拿到账号就开始动手。

第一刀砍向 MySubaru App。他用 Burp 代理抓车控请求,想找个不鉴权就能解锁的口子。

抓到的解锁请求长这样:带着 vin 和用户的 pin,发往 mobileapi.prod.subarucs.com。他试着绕过授权,没成。端点不多,鉴权做得相当扎实。

App 这条路走不通。但他有经验:车企常有面向员工的内部系统,权限比用户端大得多。于是换方向,去找别的 Subaru 相关站点。

一个 CNAME 牵出员工后台

转机来自队友 Shubs 的一句话:my.subaru.com 其实是 mys.prod.subarucs.com 的别名(CNAME),而 subarucs.com 这个域此前没人注意。

顺着这个域扫子域,扫出一条 STARLINK Admin Portal,地址是 portal.prod.subarucs.com/login.html。一看就是员工功能。

问题是,这就是个登录框,他们手里一个账号都没有。

前端 JS 里躺着的改密接口

光看登录页看不出名堂。Sam 翻了下网页源码,发现它加载了 /assets/_js/ 下的几个 JS。于是用 FFuF 爆破这个目录,捞出一个 login.js。

里面有段代码很扎眼:点「提交新密码」时,会往 /forgotPassword/resetPassword.json 发请求,直接带邮箱 + 新密码——没有确认令牌。

换句话说,只要填一个有效的员工邮箱,就能把人家密码改掉。他先发了个随机邮箱试水,接口活着,返回 error,说明路是通的,只差一个真实邮箱。

同一批 JS 里还有另一个接口:getSecurityQuestion.json?email=…。邮箱有效就回安全问题,无效就报 Invalid email。这正好拿来枚举谁是平台里的真实账号。

用 LinkedIn 拼出一个真员工

接下来是老套路。在 LinkedIn 搜「Subaru STARLINK」,找到几个软件工程师的名字;再搜出 Subaru 邮箱格式是「名首字母 + 姓 @subaru.com」。

把拼出来的几个邮箱丢进 getSecurityQuestion.json,第四个中了——接口回了「你出生在哪个城市?」,说明这个邮箱有效。

拿这个邮箱去打改密接口,返回 \"success\"。密码改成功了,登进去。

2FA 是注释一行就没的那种

登进去弹了个二次验证,要答安全问题。它是自定义实现的,Sam 想看看能不能绕。

他试了最省事的办法:把前端那行「弹出安全问题弹窗」的 JS 注释掉。

结果整个后台照常能用,所有按钮都正常返回服务端数据。也就是说,这个 2FA 根本就是个前端遮罩,服务端压根没拦。2FA 就这么没了。

「最后位置」不是一个点,是一整年

左侧导航里功能一堆,最吓人的是「Last Known Location」。Sam 输了他妈的姓氏和邮编,车就出来了。

点进去,过去一年她去过的地方全在列表里。

这个接口回的不是单个最后位置,而是过去一年里每一次点火、每一次用远程指令时的精确坐标,误差在 5 米内。

他把一年数据导出来丢进地图,1600 多个点。家、公司、常去的地方,一目了然。而车主自己,根本不知道这些被记着。

搜一个人,隐私全摊开

后台还有个车辆搜索:按姓氏+邮编、电话、邮箱或 VIN(车牌能反查)都能查人,还能给车辆增删访问权限。

查出来的信息页,车型、里程、订阅状态、账单方式一应俱全。

再点进去,住址、电话、紧急联系人、授权用户、远程服务 PIN 状态,全在一屏里。

把一次登录能看到的东西列出来,大概是这样一张清单。

把自己加成授权用户

为了确认真能控车,他们找了个朋友,要来车牌,在后台查到车,然后给车加了个授权用户——自己。

几分钟后,账号创建成功。系统还给新授权用户发了封欢迎邮件。

有了权限,他让朋友去车边看。然后发了「解锁」指令——车开了。

关键是:朋友没收到任何通知、短信或邮件,不知道自己的车被加了人、被解了锁。

连自己的账号信息都能翻

顺手一提,后台连 MySubaru 账号管理页都能看:登录时间、失败次数、名下所有车辆、重置密码、设临时密码……都在。

响应很快,结构病难治

时间线很干净:11 月 20 日深夜提交报告,第二天早上官方回应,当天下午就修复到无法复现,不到 24 小时。

Sam 自己在文末说得很实在:密码重置、2FA 绕过这些手法,对做安全的人都不新鲜。真正值得讲的是影响本身,以及这些车联网系统到底怎么运作。

他点到一个结构问题:车企里,一个德州的 18 岁实习生,能查加州某辆车的账单信息,这不会触发任何警报——因为这就是他日常工作的一部分。员工默认就有海量个人信息的访问权,整个体系建立在「信任」上。

黑卷点评

一辆家用车,凭一块车牌,十来秒就被陌生人定位、解锁、翻出一年行踪。根子不在某个花哨漏洞,而在权限模型。

① 车企后台往往比 App 松——面向车主的 App 鉴权做得滴水不漏,但员工后台权限大、盯的人少,常是真正的软肋。做攻防,别只盯着用户端。

② 前端 2FA 不是 2FA——安全问题弹窗若只是前端遮罩,注释一行就形同虚设。任何校验都必须落在服务端,前端只是体验。

③ 「默认信任全员」是结构病——一个员工能查全国车主的住址、轨迹、PIN,这不是某个接口的锅,是权限模型的锅。最小权限、操作留痕、异常告警,缺一个都托不住。

换到国内任何一家有车联网后台的厂商,题目一样:你的客服系统、运维后台、经销商平台,能查多少车、查完有没有记录?别让「智能」只在 App 上好看,后台门却对内敞着。

往期推荐

  • 从调试口抽到改固件:Sonoff ZigBee 网关的芯片到云端两条 CVE
  • EOL 路由照样打穿:Netgear WGR614v9 UART + Bitdefender Box SPI 降级 RCE
  • 从 UART 焊到未认证后门:ANJIA PTZ 摄像头(CVE-2026-31077)
  • 拍桌子才出 root:FiberGateway GR241AG 从 UART 故障注入打到公网 WiFi RCE
  • 四根铜焊盘听出 root:TP-Link TL-WR845N UART 未认证调试口

只凭车牌,10 秒接管一辆 Subaru:STARLINK 员工后台越权

神器推荐|一款高级类似nc的监听器-penelope,支持多sessions、上传、下载、httpserver和辅助模块" 网络安全文章

神器推荐|一款高级类似nc的监听器-penelope,支持多sessions、上传、下载、httpserver和辅助模块"

本文介绍Penelope工具,一款面向渗透测试和CTF玩家的高级shell处理工具,功能强于netcat,支持自动PTY升级、多会话管理、文件上传下载、HTTP服务器及辅助模块。文章详述安装方法、功能特性、支持命令及常见用法,并附GitHub下载链接,同时提醒用户遵守网络安全法,在合法合规环境下进行渗透测试。
AI合规要求盘点:大模型厂商&AI应用集成商" 网络安全文章

AI合规要求盘点:大模型厂商&AI应用集成商"

本文盘点AI合规要求,区分大模型厂商与AI应用集成商的不同合规责任。核心结论是监管政策持续加码,需遵循国内外法规如生成式AI暂行办法、欧盟AI法案。关键发现是风险判断场景优先,责任穿透至集成商。建议建立风险分级台账、供应商尽调报告等自查输出物,守住AI落地红线。
评论:0   参与:  0