入侵亚马逊的 eero 6(第 2 部分)

这是关于破解亚马逊 eero 6 设备的第二部分,涵盖了直接从 eMMC 闪存芯片读取和提取固件数据的内容,此前该芯片已从设备上拆卸下来(不是作者本人操作)。还分享了在该项目中购买的设备,包括哪些设备有用哪些设备没用。

博客第一部分可在:https://markuta.com/eero-6-hacking-part-1/找到

博客内容

非破坏性尝试

在拆卸设备上的 eMMC 闪存芯片之前,作者尝试了一些非破坏性技术,但都未成功,包括恢复模式启动、通过 UART 中断启动、追踪 eMMC 周围的线路、使设备启动故障以及分析设备测试点等。

芯片拆卸

  • 曾想购买热风枪,但价格约 200 英镑,最终决定带到手机维修店,花费 20 英镑拆卸。
  • 得到了 eMMC BGA153 芯片,但没有简单的读取方法,尝试了一些手头很便宜的工具也未成功,最后购买了便宜的 BGA153 适配器和其他设备。

eMMC 和 SD 接口

微 SD、SD、MMC 和 eMMC 工作原理相似但有细微差别,eMMC 由 NAND 闪存存储和位于主机处理器之间的闪存控制器组成。可参考这里获取技术概述,也可阅读riverloopsecurity关于 eMMC 研究的文章或Amir Etemadieh在 Blackhat 2017 的演讲。

一些失败尝试

  • 理论认为多数尝试失败是因为使用 eMMC 的 1 位模式,也可能是使用的适配器不支持该模式,更现实的原因可能是焊接接触点或缺少电阻。
  • 追踪线路:在 eMMC 芯片和主 CPU 之间有几条追踪线,尝试刮掉 PCB 上的铜箔以露出线路并焊接细铜线连接逻辑分析仪,但难以识别 CLK 信号等。
  • 死虫调试:使用 0.1mm 带漆铜丝和带有白色粘性的转接板,牺牲了一个 microSD 适配器,但效果不佳。
  • 探针工具:该工具适合 microSD 卡恢复和较大 PCB,但不适合精细 BGA 焊盘,测试探针易从焊盘滑落且使用不便。
  • eMMC 到 microSD 适配器:尝试使用便宜的 microSD 到 SD 适配器连接到多个读卡器,均失败,如 transcend SD USB 适配器、UGreen 多工具 USB-C 适配器和旧笔记本的 SD 卡插槽。
  • 低功耗 eMMC 到 SD 适配器:购买了此设备但也未成功,可能是焊接问题,其他人也有类似问题。

作者失去耐心后,在 Aliexpress 购买了 BGA153 适配器来读取 eMMC 芯片,无需手动焊接到微小的 BGA 焊盘。在 Aliexpress 上搜索相关关键词找到多种设备,价格差异较大,最终购买了最便宜的(35 英镑)eMMC BGA153 适配器,并购买了将信号转换为 USB 或 SD 接口的设备。

MKS eMMC 适配器

用于 3D 打印机升级固件,支持 microSD 插槽和 20 引脚 eMMC 扩展模块头及 USB 3.0 接口,可在 eBay、Amazon、Aliexpress 等平台找到。

组装与读取芯片

识别引脚

未找到 BGA153 适配器的引脚表,需获取金士顿 BGA153 eMMC 芯片的数据手册并与适配器布局比较,需用万用表探针检测引脚,中间方形引脚用于 Flash I/O 和内存电源,外部方形引脚用于内存控制器核心和 MMC I/O 以及电源,Flash I/O 内存使用VccVss,内存控制器使用VccqVssq。将顶部塑料件拧下以便触及 PCB 上的焊盘,设置为连续性模式检测引脚。

焊接跳线

在 eBay 上找到约 5 英镑的便宜 MKS EMMC 适配器,支持 microSD 插槽和 20 引脚 eMMC 扩展模块及 USB 3.0 接口,需将引脚焊接到 eMMC 模块上,eMMC 模块的 20 引脚布局可在这里找到,完成后的产品如图所示。

读取芯片

将 BGA153 适配器(内含 eMMC 芯片)通过跳线连接到 MKS EMMC 适配器,再连接到运行 Windows 系统并装有 VMware 软件的主系统,在其中的 Linux 虚拟机中进行操作,插入后需将 USB 设备传递到虚拟机。使用dmesg -W监控变化,出现新磁盘sdb,容量为 4GB,表明读取成功,然后使用dd命令创建固件的原始副本,使用7z l emmc_eero6.bin查看逻辑分区名称,使用7z x emmc_eero6.bin提取.img文件并使用简单的 bash 脚本挂载。

分析文件系统

分享了每个分区的一些信息,如rootfs中有用于设备管理和系统操作的编译 Python 包nodelibrootfs_1中有不同版本的nodelib包,log中有调试和其他消息及固件下载 URL 错误,cache中有与后端云服务和移动应用通信的证书文件,bootconfig中有 Qualcomm 固件等。还列出了系统启动时的一些服务和/usr/lib/usr/bin中的一些库和二进制文件。

结论

作者知道读者可能认为去手机维修店拆卸 eMMC 芯片是作弊,但仍遇到读取芯片数据的问题。分享了提取 eMMC 芯片数据过程中遇到的问题和解决方案,遗憾的是未能找到轻松 root 设备的方法,拆卸芯片后设备完全损坏,除非重新焊接,但未来可能有办法。不会发布固件文件,因为是爱好者不想被亚马逊或高通起诉,下一步是更详细地分析固件以查找安全漏洞并可能获得漏洞赏金。

资源

分享了一些在该项目中非常有用的资源,包括Hardware Hacking 101: Identifying and Dumping eMMC flashHacking Hardware With a $10 SD Card Reader](https://www.blackhat.com/docs/us-17/wednesday/us-17-Etemadieh-Hacking-Hardware-With-A-$10-SD-Card-Reader.pdf)、[How to Dead-Bug a BGA Flash Memory chipA detailed description of eMMC technologyFlash readers by Voidstarsec。

阅读 12
0 条评论