与其说是“前言”,不如说是句大实话:现在谁家还没几个吃灰的路由器、摄像头?这些看似过时的玩意儿,其实是学习硬件安全、提升逆向技能的绝佳素材。SEC Consult的安全实验室,就经常干这种“变废为宝”的活儿。
别以为硬件安全离你很远,想想动不动就爆雷的IoT设备,哪个不是软硬件通吃?与其临渊羡鱼,不如现在就开始“考古”,说不定下一个发现0day的就是你!
想省钱?先从“熟人”下手!
与其一上来就啃硬骨头,不如先找个“熟人”练练手。啥意思?就是找那些已经有第三方固件支持的设备。OpenWRT之类的开源项目,简直是硬件安全研究的福音。
为啥?因为有了第三方固件,你就可以绕过原厂的限制,直接在硬件上“跑”自己写的代码,观察设备的反应。这就像学武功先扎马步,先把基础打牢了,再去挑战高难度动作。当然,别指望第三方固件性能有多好,但安全性往往能甩原厂几条街。
硬核拆解:如何从“一无所知”到“了如指掌”
拿到一个完全陌生的设备,想刷固件?没门!这时候就得动真格的,一步步剖析硬件电路,就像侦探破案一样。
以Belkin F9 K1106as无线中继器为例(别问为啥选它,纯粹是因为社区支持多),核心是Broadcom的SoC。我们的目标很简单:找到串口,拿到shell,最好还能控制引导加载程序。
第一步,当然是拆!
图:Belkin F9 K1106as PCB图及其不同模块
这玩意儿就像俄罗斯套娃,一层又一层。先用钳子伺候,把金属屏蔽罩拆掉,露出里面的真容。
图:用钳子打开静电防护罩
记住,我们的目标是调试接口,所以没必要把所有屏蔽罩都拆光。UART接口通常是突破口,因为它简单粗暴,直接连上FT2322H板子,用11520 8n1的配置,就能看到设备启动信息。
UART一般长这样:(GND|RX|TX|VCC)或者(GND|TX|RX|VCC)。
那么,传说中的JTAG呢?这玩意儿可是神器,能让你直接控制CPU,调试SoC,读写Flash。别慌,有暴力破解工具!SEC Consult自己搞了一套,网上也有开源的。看看PCB上那排10针的玩意儿,八九不离十就是它。
图:暴力检测JTAG针脚
图:SEC Consult安全实验室开发的硬件分析工具“SEC Xtractor”
一顿操作猛如虎,终于找到了JTAG和UART。
图:JTAG引脚
JTAG适配器用的是廉价的FT2322H模块,连上OpenOCD,就能看到芯片的ID。
图:OpenOCD输出
现在我们知道,这玩意儿是Broadcom BCM5358UB0KFBG,JTAG接口可以控制芯片,访问底层。
“盗取”固件:最后的晚餐?不,是新的开始!
提取固件是了解SoC的最后一步。PCB背面有个Macronix的串行Flash芯片,用flashrom和FT2322H就能读出来。Datasheet上有引脚定义,照着接就行。
图:Macronix SPI flash芯片引脚
把Flash芯片拆下来,放到转接器上,启动flashrom。
图:用flashrom读取SPI存储器
Dump出来的文件包含程序存储器和暂存数据。你可以用flashrom重写固件,刷第三方ROM。用binwalk分析一下,发现很多MIPSEL指令,说明Broadcom SoC是基于MIPSEL32 CPU的。
用IoT Inspector初步分析一下,发现一堆老掉牙的安全漏洞,最早的能追溯到2007年。
图:IoT Inspector报告摘录
庖丁解牛:逆向SoC引脚,解锁更多姿势
如果能搞到SoC的引脚定义,就能对所有使用BCM5358UB0KFBG的设备进行逆向。用热风枪把BGA封装的芯片拆下来,根据引脚连接情况,结合datasheet,测量电压,就能推断出引脚的功能。
图:热风枪返修台
图:拆下SoC后的Belkin PCB
图:BCM5358U0KFBG芯片部分引脚功能定义
BCM535x系列芯片的引脚定义都差不多。Wikidevi网站上有大量硬件信息,可以参考。
图:来源: https://wikidevi.com
看看其他路由器的图片,也能发现引脚功能基本一致。
中国供应链的“秘密”:公版方案满天飞?
有没有发现,很多路由器的PCB板看起来都一样?这是因为它们都是同一家ODM设计的。看看华硕RT-N53和Belkin F9 K1106的内部图片,简直就是双胞胎。
图:华硕PCB,来源:https://apps.fcc.gov/
图:Belkin PCB
那些PCB板上的标识,用的都是ELCAD软件的默认字体,开发者懒得改。这意味着华硕也用了相同的模板,甚至更多其他供应商。
这种现象在嵌入式设备生产中很常见,尤其是对于来自US的公司。固件也多半是亚洲供应商基于标准的SDK开发的。所以,下次拆路由器的时候,不妨多留意一下PCB板上的细节,说不定能发现更多有趣的“秘密”。
-
http://blog.sec-consult.com/2017/06/ghosts-from-past-authentication-bypass.html -
http://blog.sec-consult.com/2016/12/backdoor-in-sony-ipela-engine-ip-cameras.html -
http://blog.trendmicro.com/trendlabs-security-intelligence/netis-routers-leave-wide-open-backdoor/ -
http://www.devttys0.com/2013/10/from-china-with-love/ -
黑客/
原文始发于微信公众号(龙哥网络安全):硬件黑客:从报废路由器里挖宝,聊聊PCB逆向那点事儿
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论