Lobsters | 📄 原文链接 | 2026-11-08 收录

攻破 Meta Ray-Ban 智能眼镜:从 OTA 抓固件到自签名应用拿 shell

来源:p0pcycle.com — 2026-11-06

📋 概述

作者本来只想看看 pwn2own 2026 的目标清单,顺手研究去年的穿戴设备,结果在 Meta Ray-Ban 眼镜上拿到了任意代码执行——而穿戴类当年已经不在目标列表里了。路线是纯软件:用 JADX 反编译 Meta AI 应用,hook OTAArtifactInfo 的构造函数把 CDN 下载地址打出来,拿到 156MB 的增量包;再 hook 负责添加 GraphQL 字段的通用方法,把 device_firmware_full_update_only 从 false 改成 true,就得到完整固件包,用 payload-dumper 拆开 payload.bin 即可挂载。要拿 shell 得走 DAT(Device Access Toolkit)开发者套件:到固件 126 为止,眼镜不校验 DAT APK 是否由 Meta 签名,于是用 Frida 把正版应用换成自签名的,就能在眼镜上跑自己的代码。眼镜没有屏幕,作者用「哔」声当 printf 确认代码真的在跑。之后 hook startDwaReadinessProbe() 关掉超时让连接活着,再借相机同步时建立的 Wi-Fi Direct 网络(192.168.49.x),在自己的应用里 bind 31337 端口做 bind shell,从手机 nc 进去执行 id 成功。五天后 shell 消失;从固件 127 起签名校验由 MobileConfig 里的 wss_appmanager.signature_verification_enabled 控制,他把 0.mctable 里的 0x80 改成 0x00 绕过校验,重新装回自签名 APK。全流程已报 Meta 赏金项目并获准公开。

🔑 核心要点

💡 金句

这副太阳镜没有屏幕,没有控制台,没有日志,也没有一句「嘿你的代码跑起来了」——那怎么确认代码在跑?答案是听。
← 返回 Lobsters 首页