FirmAE是一款完全自动化的固件模拟和漏洞分析的工具,其固件模拟成功率与Firmadyne工具相比大大提升。
# 从GitHub克隆项目
git clone --recursive https://github.com/pr0v3rbs/FirmAE
# 运行download.sh脚本,下载相关程序
./download.sh
#运行安装脚本
./install.sh
FirmAE的工作模式分为5种:-c
检查是否能模拟、-a
漏洞分析、-r
固件模拟的运行、-d
用户级的调试、-b
内核级的调试。
# 命令
sudo ./run.sh -c <brand> <firmware>
sudo ./run.sh -a <brand> <firmware>
sudo ./run.sh -r <brand> <firmware>
sudo ./run.sh -d <brand> <firmware>
sudo ./run.sh -b <brand> <firmware>
其中,<firmware>
是固件路径,<brand>
是固件的牌子,这个可以随意写。
在对固件模拟前,尽量先-c进行检查。在检查之后,运行和调试时的模拟速度也会变快。
在用户级调试时,选择4. run gdbserver
一项时,可能找不到要调试的服务。这似乎是FirmAE没有把服务全部显示完:
我们只要按次回车使其返回选择页面,再选择4,就可以看到其它开启的服务了。
另外,如果我们服务程序是arm、misp等非x86架构的,需要使用gdb-multiarch来调试。连接远程调试:target remote 192.168.1.1:1337
官方项目:https://github.com/pr0v3rbs/FirmAE
官方论文:https://syssec.kaist.ac.kr/pub/2020/kim_acsac2020.pdf
↶ 返回首页