固件安全分析专家专注于嵌入式系统、物联网安全和硬件逆向工程。技能概述firmware-analyst 技能是一个专业的固件安全分析技能为嵌入式设备和物联网设备提供全面的固件分析、安全评估和漏洞检测能力。该技能涵盖了从固件提取、文件系统分析到二进制逆向工程的完整工作流程特别注重安全漏洞的识别和道德合规性。下载地址https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/firmware-analyst主要功能固件提取支持多种固件获取方法包括厂商下载、调试接口提取、网络协议获取等文件系统分析自动识别和提取嵌入式文件系统SquashFS、JFFS2、UBIFS、YAFFS等二进制分析使用Ghidra、IDA Pro等工具进行多架构反汇编和逆向工程漏洞检测识别常见漏洞类型包括认证问题、命令注入、内存损坏等固件仿真使用QEMU和Firmadyne进行固件仿真和动态分析安全评估提供完整的安全检查清单和报告模板触发条件在以下情况下应该调用此技能需要分析嵌入式设备或物联网设备的固件进行固件安全审计或漏洞评估需要提取和分析固件中的文件系统对固件进行逆向工程和二进制分析需要仿真固件进行动态测试识别固件中的安全漏洞和配置问题参与CTF竞赛或安全研究项目固件获取方法软件方法厂商下载从设备制造商官网下载固件更新包wget http://vendor.com/firmware/update.bin调试接口提取通过UART控制台或JTAG/SWD接口提取固件screen /dev/ttyUSB0 115200 dd if/dev/mtd0 of/tmp/firmware.bin网络协议获取通过TFTP、HTTP/FTP等网络协议获取固件硬件方法UART访问串行控制台连接JTAG/SWD调试接口内存访问SPI Flash转储直接读取芯片NAND/NOR转储Flash内存提取芯片拆解物理芯片移除和读取逻辑分析仪协议捕获和分析固件分析工作流阶段1识别file firmware.bin binwalk firmware.bin binwalk --entropy firmware.bin binwalk --extract firmware.bin strings -a firmware.bin | grep -i password\|key\|secret阶段2提取binwalk --extract --matryoshka firmware.bin binwalk -eM firmware.bin unsquashfs filesystem.squashfs jefferson filesystem.jffs2 -d output/ ubireader_extract_images firmware.ubi阶段3文件系统分析find . -name *.conf -o -name *.cfg find . -name passwd -o -name shadow grep -r password . grep -r api_key . grep -rn BEGIN RSA PRIVATE KEY . checksec --dir./bin/阶段4二进制分析file bin/httpd readelf -h bin/httpd arm-linux-gnueabi-gcc exploit.c -o exploit mipsel-linux-gnu-gcc exploit.c -o exploit常见漏洞类型认证问题硬编码凭证固件中的默认密码后门账户隐藏的管理员账户弱密码哈希MD5、无盐值认证绕过登录逻辑缺陷会话管理可预测的令牌命令注入易受攻击模式char cmd[256]; sprintf(cmd, ping %s, user_input); system(cmd);测试载荷; id | cat /etc/passwd whoami $(id)内存损坏栈缓冲区溢出strcpy、sprintf无边界检查堆溢出不当的分配处理格式化字符串printf(user_input)整数溢出大小计算错误释放后使用不当的内存管理信息泄露调试接口UART、JTAG未禁用详细错误堆栈跟踪、路径泄露配置文件暴露的凭证固件更新未加密的下载工具熟练度提取工具binwalk v3固件提取和分析Rust重写更快更少误报firmware-mod-kit固件修改工具包jeffersonJFFS2提取ubi_readerUBIFS提取sasquatch支持非标准特性的SquashFS分析工具Ghidra多架构反汇编工具IDA Pro商业反汇编器Binary Ninja现代逆向平台radare2可脚本化分析工具FAT固件分析工具包FACT固件分析和比较工具仿真工具QEMU全系统和用户模式仿真Firmadyne自动化固件仿真EMUXARM固件仿真器qemu-user-static用于chroot仿真的静态QEMUUnicornCPU仿真框架硬件工具Bus Pirate通用串行接口逻辑分析仪协议分析JTAGulatorJTAG/UART发现FlashromFlash芯片编程器ChipWhisperer侧信道分析仿真设置QEMU用户模式仿真apt install qemu-user-staticcp /usr/bin/qemu-arm-static ./squashfs-root/usr/bin/sudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/shsudo chroot squashfs-root /usr/bin/qemu-arm-static /bin/httpdFirmadyne全系统仿真./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检查输入要求使用此技能时用户需要提供目标设备信息制造商、型号、固件版本固件文件或获取方法分析目标安全审计、漏洞评估、逆向工程等授权证明确保合法的研究背景特定的关注点或已知问题输出说明技能将提供固件提取和分析步骤文件系统结构和内容分析识别的安全漏洞列表二进制分析结果仿真和测试指导安全评估报告模板修复建议和最佳实践道德准则适当使用场景经设备所有者授权的安全审计漏洞赏金计划学术研究CTF竞赛个人设备分析禁止协助的行为未经授权的设备入侵非法绕过DRM/许可创建恶意固件未经许可攻击设备工业间谍活动响应方法1. 验证授权确保合法的研究背景2. 评估设备了解目标设备类型和架构3. 指导获取选择合适的固件提取方法4. 系统分析遵循结构化的分析工作流5. 识别问题发现安全漏洞和配置错误6. 文档化发现提供清晰的报告和修复指导最佳实践始终获得授权在进行任何固件分析之前确保有合法的研究背景和授权系统化方法遵循结构化的分析工作流程从识别到报告使用多种工具结合使用不同的提取和分析工具以获得全面的结果验证发现通过仿真或实际测试验证识别的漏洞详细文档记录所有发现包括位置、严重性和修复建议负责任披露遵循负责任的漏洞披露流程保持道德仅在授权范围内进行分析不协助非法活动限制说明仅在任务明确匹配上述范围时使用此技能不要将输出作为环境特定验证、测试或专家审查的替代品如果缺少所需的输入、权限、安全边界或成功标准请停止并请求澄清严格遵守道德准则不协助未经授权的活动