freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Vxworks固件分析
2022-01-21 11:20:51
所属地 广东省

Vxworks固件分析

1. 介绍

VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。

2. 固件分析

固件提取的常用方式是使用binwalk工具进行分析和提取。

2.1 提取

Binwalk分析,该固件内嵌一个使用lzma压缩的二进制数据。

1642735066_61ea25dab5fcf0250614e.png!small?1642735066911

2.2 解压

可采用lzma命令或者binwalkh指令解压缩

  • lzma

1642735076_61ea25e495b09722d7b06.png!small?1642735076859

  • binwalk

1642735088_61ea25f033e692c1ce580.png!small?1642735088489

该文件就是我们需要分析的VxWorks固件。

3. 固件加载地址

首先需要查找VxWorks系统固件加载地址,否则系统将无法运行。加载地址将影响后面一些绝对地址的引用比如函数表及字符串的引用。

3.1 查看设备架构

  • ARM

1642735097_61ea25f91847a05ad47d0.png!small?1642735097499

3.2 IDA分析

  • 选择ARM/little

1642735104_61ea26007a19f0b54df94.png!small?1642735104837

  • 基地址为0

1642735112_61ea26089bfd113f146ae.png!small?1642735112904

VxWorks采用usrInit进行栈初始化,usrInit是VxWorks系统引导后运行的第一个函数。

1642735121_61ea2611869ed5a8c0fa0.png!small?1642735121948

LDR R0,=0x40205000
BIC R0,R0,#3
SUB RO,RO,#4
MOV SP,RO #栈执政赋值 R0=$sp+0

可知加载的基地址为0x40205000

3.3 利用符号表修复函数名

Bzero是VxWorks中一个函数,系统启动过程中会使用bzero函数对bss区的数据进行清零,因此可以利用”grep -r bzero”查找bzero函数。

$ grep -r bzero

1642735131_61ea261baa26f39181d7b.png!small?1642735131897

  • memset

1642735151_61ea262fcf0911c952646.png!small?1642735152083

3.3.1 手动定位

符号表

1642735161_61ea2639930f7eafb7869.png!small?1642735162071

00 05 1B 29 00 00 34 E4

文件大小和符号表大小

8字节之后就是符号表

00 00 34 E4 => 13540(10进制)

8 + 8 * 13540 = 108328(符号表偏移)->符号表位置

1642735179_61ea264b6d515c241d4bd.png!small?1642735179753

函数符号偏移

54 00 00 00 40 37 36 84

类型(函数) 54

符号表偏移 00 00 00 -> 0

内存中的偏移 40 37 36 84

函数名称 AES_CMAC

3.4 VxHunter工具修复

3.4.1 自动修复函数名

1642735189_61ea2655304f5977a85ab.png!small?1642735189485

该工具自动识别函数符号

1642735199_61ea265fd37514195ad7b.png!small?1642735200241

项目地址:

https://github.com/PAGalaxyLab/vxhunter.git

4. 总结

VxWorks固件分析,主要从内存加载地址及符号表入手,修改符号表与确定内存加载地址,对后续的漏洞挖掘起到至关重要的作用。

# VxWorks # 固件分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录