固件获取的各类方法

参考:https://bbs.pediy.com/thread-230095.htm

智能设备组成

先介绍一下智能设备的组成

CPU: X86/ARM/MIPS/PPC等

内存: SDRAM/RAM

存储: Flash/TF卡/SD卡/MMC卡/硬盘

串口: 一般电路板会留,做调试用

网口: 智能设备联网用

USB口: 接U盘做扩展存储用、也可接键盘和鼠标等

无线接口: Wifi/蓝牙/ZigeBee等

bootLoader: Uboot等

操作系统: Linux/RT-Linux/VxWorks/uCOS-II等

Uboot和BusyBox

Uboot

  • Uboot是用于嵌入式CPU(ARM、MIPS、PowerPC 、XScale等)的bootloader程序
  • UBoot支持嵌入式Linux、VxWorks、QNX等多种嵌入式操作系统的启动引导
  • Uboot支持:文件系统,简单的网络命令,TFTP, 串口等

Uboot在嵌入式里一个功能是做引导程序,启动的时候引导用,还有一个功能是做更新时用.支持CPU的种类比较多,比如ARM、Linux、MIPS、PowerPC都支持,也支持简单的网络命令之类的。

BusyBox

  • BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。
  • BusyBox提供了一个比较完善的环境,适用于任何小的嵌入式系统。

Busybox集成了三百多个常用的Linux命令和工具软件,它非常小巧,编译后大概在1-2兆左右,但支持的命令非常多,而且可以根据需要做裁减。例如:有的裁剪了busybox的指令nc,dd,tar等。

升级接口

  • 下载固件接口(硬件接口:JTAG/SWD口;网络协议:TFTP/FTP; 自定协议)
  • BootLoader升级接口
  • SD/TF卡升级接口
  • USB升级接口

调试接口 

  • 网络/USB日志接口
  • 调试接口(一般为TTL串口;也有telnet/SSH网络协议等)

网络获取

官网或联系售后索取升级包

  • 适用于官网提供下载智能设备固件的情况
  • 有的厂家只能从代理和官方的售后提供固件

在线升级, 抓包获取下载地址

  • wireshark配合热点抓设备升级的包
  • burpsuite抓APP请求设备升级的包 

如果能够抓取到升级的数据包,可以根据命名规则猜测老固件下载地址;

串口

用硬件电路的调试串口和固件的bootloader获取固件

前提是能找到隐藏的UART

  • 万用表识别、逻辑分析仪识别监听;
  • 接口引线;

从硬件串口获取系统权限后,用tar、nc、dd、echo、vi等命令提取固件

前提是已获取shell权限(网络或串口);

存在ifconfig、nc、tar(zip、dd)命令;

用法:

  • 在串口命令模式下:
  • 用tar打包固件,或用dd命令提取固件;
  • 用ifconfig配置ip地址;用nc命令连接本地机器;
  • 通过nc命令传送打包后的固件

调试口

从硬件调试接口:JTAG/SWD, 利用调试工具的任意地址读取功能

存在JTAG接口的设备,直接用Jlink连接读取

读取flash

拆Flash、Sd卡、TF卡、硬盘等,用编程器或对应设备读固件

想办法弄下Flash,用编程器读取固件内容,有本事的还可以焊回去。

RT809:可以自动识别flash类型,自动提取

Flashrom:GitHub - espressif/esptool: Espressif SoC serial bootloader utility

用逻辑分析仪监听flash,ram获取信息

用逻辑分析仪配合对应的软件,监听SPI flash获取信息,并保存二进制文件;

其他

逆向升级软件,软件内置解包和通讯算法

逆向破解上位机,烧录工具

对软件进行抓包分析

通过利用网页和通讯漏洞获取固件敏感信息

存在web功能

任意文件读取

命令执行等漏洞

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值