用途
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/许可、创建恶意固件、未经许可攻击设备、工业间谍活动。响应方式要求先验证授权、评估设备、指导获取、系统分析、识别问题并记录发现。
暂未提供
关于该技能的收费、价格、平台支持范围等商业信息,资料中暂未提供。