28

设备固件提取小结

 4 years ago
source link: https://www.freebuf.com/articles/terminal/229567.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一、常见设备类型-按片外片内ROM划分

其实很多CPU都同时支持片内和片外ROM,比如老的C51到现在流行的STM32。为啥要划分这两种类型呢,主要片外提取固件基本可以暴力提取,直接把存储芯片焊接下来用相应的读取设备就能读取。

程序或者系统保存在芯片内的一般都没外挂存储的,例如下面:

bUJ3maM.jpg!web

片外rom我们最常见的手机、路由器这些都是片外rom:

IRV3aqV.jpg!web

二、常见系统分类

 NON-OS:这类嵌入式系统不包含任何操作系统,可能会包含事件调度器。
 RT-OS:这类嵌入式系统运行功能紧凑但具有很强实时性的RTOS。
 Rich-OS:这类嵌入式系统运行功能非常齐全的操作系统。

下图只列取部分常见系统:

miQNBfB.jpg!web

三、片内rom 程序提取的方式:

3.1 软件手段

这个需要芯片本身支持读取调试,例如avrdude系列芯片熔丝位没锁死isp,使用usbasp接入板子对应接口

QfQ3ueJ.jpg!web

通过avrdude -cusbasp -pm8 -U flash:r:mega8_servo.hex:i 提取固件

YrmINja.jpg!web

3.2 物理破解手段

硬件破解手段就是直接对芯片进行物理破坏进行破解,比如stm32系列芯片就可以进行物理破解。avr系列芯片如果融丝位锁死ISP,也可以通过物理手段破解。下面以stm32为栗子:

首先要对芯片进行开片

yIVNje7.jpg!web

当晶片裸露出来后,那么,我们就要用到高倍显微镜和FIB(聚焦离子束设备),用这两种设备,查找芯片的加密位置,通过改变其线路的方法,将加密芯片变为不加密的一个状态,然后再用编程器,将芯片内部的程序读取出来。

m6FVnei.jpg!web

这里要注意 stm32 一般都会进行加密 读取出来后也需要进行解密工作

JVniM3E.jpg!web

四、片外rom 程序提取的方式:

片外存储的类型非常多常见的类型如:

EEPROM、SPI FLASH、NOR FLASH、SD卡、硬盘等,这里只做简单的列举。

也有通过接口进行分类:

如spi 接口、i2c接口、串口、c51用的并行中线、SD卡的sdio、硬盘的sata等,甚至安卓手机里等pcie

这类固件提取就很方便直接用编程器进行读取或者sd卡读卡器和电脑的通用存储接口进行读取。

4.1spiflash固件提取 

spiflash可以很方便提取,可以把芯片取下放到读卡器或者直接用夹子就能读取flash里的固件。

26bemeJ.jpg!web

ZZVFRzb.jpg!web

vIv6niu.jpg!web

4.2安卓设备ROM提取:

适用于没有root权限拿不到Recovery

BJRJBfR.jpg!web

4.3 x86设备固件提取

x86设备一般都是硬盘,不管是机械硬盘还是ssd,都是标准的pc接口,这种一般都会出现在防火墙,审计设备上。

vYnERzQ.jpg!web

五、接触不到物理设备但是有权限的设备提取固件:

5.1 能通过网络链接并且有相应权限的:

busybox命令齐全操作就很方便,直接用dd命令或者mtd备份到文件人后scp传出来

我遇到过一个比较精简的系统,dd命令这些都被精简了,这种情况在嵌入式设备里很常见,毕竟flash有时候1m 、2m这种情况很多。

很多时候可以直接用tftp直接把固件传送出来

tftp  -p -r /dev/mtdblock1 192.168.200.28

5.2 通过厂商网站下载升级包:

这里面就有多种情况了,有很多厂家直接提供固件下载,现在安全意识提高了,下载的固件很多都加密了,下载后还需要解密,有的固件已经不提供下载了,需要到设备管理界面联网升级,这个可以通过抓包来分析固件地址,也能提取到固件。

六、总结:

这些都是平时干活遇到的设备,讲得比较简单。有机会讲解下固件提取之后的仿真和反汇编操作。大家多多点赞哦。写的不好,说得也不够全面,也有说得不对的地方,各位大佬多多谅解。

*本文作者:question,转载请注明来自FreeBuf.COM


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK