SuperAPI AI 工具集

firmware-analyst

安全与审计

查看项目

更新于 10-16 02:41

技能介绍

用途

firmware-analyst 是一个面向嵌入式系统、IoT 安全与硬件逆向工程的固件分析技能。它用于指导固件的获取、识别、提取、文件系统分析、二进制分析、仿真运行与安全评估,帮助分析人员按结构化流程完成固件安全审计工作。

主要能力

固件获取方法

  • 从厂商下载:例如 wget http://vendor.com/firmware/update.bin
  • 通过调试接口从设备提取:UART 控制台访问 screen /dev/ttyUSB0 115200;复制固件分区 dd if=/dev/mtd0 of=/tmp/firmware.bin
  • 通过网络协议提取:启动期间 TFTP、设备 Web 界面的 HTTP/FTP
  • 硬件方法:UART 串口连接、JTAG/SWD 调试接口、SPI flash dump、NAND/NOR dump、chip-off 物理拆读、逻辑分析仪协议捕获

分析工作流

  • 阶段一 识别:file、binwalk、熵分析(binwalk --entropy / -E)、自动提取(binwalk --extract / -e)、字符串搜索(strings -a firmware.bin | grep -i "password\|key\|secret")
  • 阶段二 提取:binwalk v3 递归提取(--matryoshka / -eM)、自定义目录(-e -C ./extracted)、详细输出(-eM --verbose);手动提取 SquashFS(unsquashfs)、JFFS2(jefferson)、UBIFS(ubireader_extract_images)、YAFFS(unyaffs)、Cramfs(cramfsck)
  • 阶段三 文件系统分析:查找配置文件、passwd/shadow、可执行文件;搜索硬编码凭据(password、api_key、RSA 私钥);分析 Web 接口(cgi/php/lua);用 checksec --dir=./bin/ 检查二进制安全属性
  • 阶段四 二进制分析:用 file、readelf -h 识别架构;在 Ghidra 中按架构加载(如 ARM:LE:32:v7、MIPS:BE:32:default);设置交叉编译(arm-linux-gnueabi-gcc、mipsel-linux-gnu-gcc)

常见漏洞类别

  • 认证问题:硬编码凭据、后门账户、弱密码哈希(MD5 无盐)、认证绕过、会话管理(可预测令牌)
  • 命令注入:如 sprintf(cmd, "ping %s", user_input); system(cmd);,测试载荷包括 ; id、| cat /etc/passwd、`whoami`、$(id)
  • 内存破坏:栈缓冲区溢出、堆溢出、格式化字符串、整数溢出、释放后使用
  • 信息泄露:调试接口(UART、JTAG)未关闭、详细错误、配置文件暴露凭据、未加密的固件更新

工具集

  • 提取工具:binwalk v3、firmware-mod-kit、jefferson、ubi_reader、sasquatch
  • 分析工具:Ghidra、IDA Pro、Binary Ninja、radare2、Firmware Analysis Toolkit (FAT)、FACT
  • 仿真:QEMU、Firmadyne、EMUX、qemu-user-static、Unicorn
  • 硬件工具:Bus Pirate、逻辑分析仪、JTAGulator、Flashrom、ChipWhisperer

使用方式

QEMU 用户态仿真

apt install qemu-user-static
cp /usr/bin/qemu-arm-static ./squashfs-root/usr/bin/
sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/sh
sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/httpd

Firmadyne 全系统仿真

./sources/extractor/extractor.py -b brand -sql 127.0.0.1 \
    -np -nk "firmware.bin" images
./scripts/getArch.sh ./images/1.tar.gz
./scripts/makeImage.sh 1
./scripts/inferNetwork.sh 1
./scratch/1/run.sh

安全评估清单

固件提取成功、文件系统挂载与探索、架构识别、硬编码凭据搜索、Web 接口分析、二进制安全属性(checksec)、网络服务识别、调试接口关闭、更新机制安全、加密/签名验证、已知 CVE 检查。

报告模板

包含设备信息(制造商、型号、固件版本、架构)、发现摘要表(Finding/Severity/Location)、详细发现(严重性、位置、描述、概念验证、修复建议)与建议列表。

适用场景

  • 获得设备所有者授权的安全审计
  • 漏洞赏金项目
  • 学术研究
  • CTF 竞赛
  • 个人设备分析

限制与伦理准则

该技能明确不应用于:未授权的设备入侵、非法绕过 DRM/许可、创建恶意固件、未经许可攻击设备、工业间谍活动。响应方式要求先验证授权、评估设备、指导获取、系统分析、识别问题并记录发现。

暂未提供

关于该技能的收费、价格、平台支持范围等商业信息,资料中暂未提供。