只凭车牌,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 员工后台越权
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论