手把手带你分析mips架构下固件分析与漏洞挖掘

新发布0day漏洞挖掘系统模拟
2025-06-16 14:56
4924

固件分析和解包

拿到固件后,第一步是对其进行解包分析。我们通常查找 busybox 可执行文件来判断固件的 CPU 架构(如 MIPS、ARM)、端序(大端或小端),以及是否开启了安全机制(如堆栈保护、NX)。busybox 一般位于 /bin 目录中。通过如下命令我们可以快速获取架构信息,本例中结果显示为 MIPS32 小端架构。

binwalk -Me WN579A3-WAVLINK-WO-2022-03-23-854d73f.bin

image.png

file busybox

用于识别可执行文件类型。通过这个命令我们可以判断 busybox 是哪种架构(如 MIPS、ARM)、位数(32/64位),以及是否为静态或动态链接。本例结果显示为:MIPS、32位、小端、静态链接的 ELF 可执行文件。

file busybox

image.png

readelf -h busybox

查看 ELF 文件头,进一步确认架构信息、字节序、入口点等关键信息。比如:

  • Class 显示是 ELF32
  • Data 显示是 Little endian(小端)
  • Machine 显示是 MIPS
    这确认了我们之前用 file 得出的结论。
readelf -h busybox

image.png

checksec busybox

用于检查二进制文件的安全特性是否开启,例如:

  • NX(No eXecute,是否启用不可执行栈)
  • PIE(位置无关执行)
  • Stack Canary(堆栈保护)
    这些信息可以帮助我们判断程序是否容易受到缓冲区溢出等攻击。本例中,大多数保护机制未启用,表明存在潜在的利用空间。
checksec busybox

image.png

我们使用自动化工具firmAE起不来考虑系统模拟或者用户模拟

image.png

系统模拟

启动项分析

启动项是指设备启动后自动执行的程序或脚本,通常用于初始化系统服务或前后端程序。我们一般在 /etc/init.d/ 目录中查找这些启动脚本(以 .sh 为后缀)。在嵌入式设备中,常见的 Web 服务启动程序有 httpdlighttpdmini_httpd 等。发现相关脚本后,应进一步检查其配置文件路径和依赖项。

![image.png](/api/image/v2/20250616/danr2oh

试读结束,发布七天后转为公开

公开时间:2025年6月23日 14:56:27

提前解锁全文,需花费 50 积分

登录解锁全文
分享到

参与评论

0 / 200

全部评论 1

Aiyflowers的头像
真的爱了,你不手把手教,我真难学会
2025-06-17 10:59
投稿
签到
联系我们
关于我们