谷歌OnHub路由器Root获取技术全解析

本文详细介绍了通过逆向工程获取Google OnHub路由器root权限的全过程,包括开发者模式激活、USB镜像启动、SPI闪存转储等核心技术步骤,揭示了该设备与Chromebook相似的系统架构。

获取Google OnHub的Root权限

发布日期:2015年10月8日
作者:maximus
分类:路由器

今天我们发布通过逆向工程获取Google OnHub root权限并修改固件的方法。该过程涉及将OnHub启动至“开发者模式”、从USB磁盘加载镜像,以及使用开发密钥修改和重新签名修改后的镜像。此方法基于对硬件的深入分析和转储,以及对Android应用和Google OnHub USB恢复Chrome扩展的反汇编研究。下面我们将深入讨论该过程和我们的发现。

我们最初通过iFixIt拆解报告了解Google OnHub,该设备包含多个无线电模块(包括当前未使用的Zigbee无线电)、一个扬声器和大量天线。然而,最引人注目的是板载的eMMC和SPI闪存芯片。基于我们以往检查设备的经验,我们知道使用低压eMMC适配器以及树莓派(或Bus Pirate)可以轻松快速地转储这两个闪存设备。遗憾的是,当时我们无法获得Google OnHub,因此只能利用现有资源开展工作。

随后我们将目标转向Google OnHub Android应用和恢复USB Chrome扩展,主要目的是寻找固件更新URL。短暂搜索后,我们找到了一个包含eMMC闪存恢复镜像URL的链接。这是我们首次真正窥见设备上运行的固件。

最终我们获得了一台Google OnHub并立即进行拆解。我们拆开设备,首先移除并转储了SPI闪存。为此,我们使用了树莓派和flashrom。转储并快速查看后,我们发现SPI闪存存储了BIOS数据。接着我们转储了eMMC,并与恢复镜像中的内容进行比较。我们确定这些镜像与Google Chromebook高度相似,且OnHub在架构上非常接近。接下来一天我们深入分析转储数据并制定了攻击计划。

我们最初的攻击计划基于一篇关于破解Google Chromebook可行性的页面。该页面指出,ChromeOS使用的安全启动设置无法防范涉及物理访问和重新刷写BIOS的攻击。因此,我们最初尝试重新刷写SPI闪存,但由于缺乏有效方法在启动修改后的镜像时获取调试输出而受阻。

经过多次尝试后,我们重新思考策略,更深入地比较了OnHub与Google Chromebook的硬件组成。这时我们发现了Google OnHub底板上隐藏的一个开关(被螺丝遮盖)。我们很快确定该开关能够启动设备的开发者模式,但需要先输入特定按键序列。我们开始梳理更多ChromiumOS文档,直到找到“CTRL+D”。在按下开发者模式开关前按Ctrl+D,即可将设备切换至开发者模式。进一步研究Chromebook并检查OnHub恢复USB镜像创建器Chrome扩展创建的USB镜像后,我们制作了USB设备并尝试启动。此时我们取得了首次重大突破,成功让设备从USB镜像启动。后续工作变得简单,主要是探索设备并结合阅读更多ChromiumOS文档,这帮助我们完善了root流程的剩余部分(可在我们的wiki找到)。

简而言之:Google OnHub本质上是一台改造成路由器的无屏Chromebook,而我们的root方法只是启动开发者模式的修改版本。

Google OnHub技术细节请访问:Exploitee.rs Wiki – Google OnHub
Root操作步骤请见:Exploitee.rs Wiki – Rooting The Google OnHub

视频

[视频内容]

评论

1. Alex Davies 于2015年10月12日上午9:54说:
大家好,
我对软件不太在行,但这看起来OnHub并没有使用Google大力宣传的新Brillo操作系统。
对吗?
干得漂亮!

2. Jay 于2015年10月13日凌晨3:37说:
嘿maximus,
我在这个过程中进展顺利,甚至创建了恢复原厂固件和自动root脚本的指南。写保护开关在哪里?
截图:
https://drive.google.com/file/d/0B3K4uPOuzXLed0RBaHFiblRnMzg/view?usp=sharing
我查看了自动root.sh
脚本:
https://github.com/jaytarang92/onhub-autoroot
OnHub视频:
https://www.youtube.com/channel/UCYL8rlGPCo8OfxZG1YPl5Lw

3. tapeworm4602 于2015年10月14日下午4:45说:
我在输入root密码时卡住了,总是显示"不正确"。有什么想法吗?

4. Jay 于2015年10月17日凌晨3:46说:
@tapeworm4602
有时ssh会出问题。我建议先重新连接WiFi,然后使用’ssh 192.168.86.1’和密码’onhub’。或者使用’ssh root@192.168.86.1’和密码’onhub’。如需更多帮助,请查看我的网站或视频。
OnHub视频:
https://www.youtube.com/channel/UCYL8rlGPCo8OfxZG1YPl5Lw
网站:craportech.com

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计