​ 因为最近在做iot相关的漏洞复现,搭建环境是很重要的一环,qemu可以直接搭建,但有时候一些细节会导致一些问题,所以firmae是一个集成化的工具,可以帮助一键搭建环境.

​ 但是安装这个工具的时候..又发生了奇奇怪怪的问题…记录一下.. 搞计算机遇到报错太正常了,但同样也是非常搞人心态的,学会如何排错,如何利用搜索引擎(包含chatgpt!)来解决问题是很重要的一个能力!

​ 有一说一,能真机还是最好别虚拟… 当然没有那么多钱、也不一定能买到,虚拟也是不错的

工具地址:https://github.com/pr0v3rbs/FirmAE

搭建环境:ubuntu18

1
2
3
git clone --recursive https://github.com/pr0v3rbs/FirmAE
./download.sh # 就是一个下载脚本,单纯的download..(国内服务器买香港的,或者用国外的..或者...
./install.sh

​ 然后报错了…一堆红…

​ 其实如果不确定是哪里报错了,可以拆看sh脚本,一点一点执行,看看

​ 报错:

1
2
3
4
./psycopg/psycopg.h:35:10: fatal error: Python.h: No such file or directory
#include <Python.h>
^~~~~~~~~~
compilation terminated.

解决方案:https://stackoverflow.com/questions/19843945/psycopg-python-h-no-such-file-or-directory

​ 其实不解决貌似后面也能搭建起来,好像是一路畅通,但运行起来还是显示不了页面等,肯定有问题,所以还是要解决的.

1
sudo apt-get install python3-dev

​ 运行完后重新跑一遍install脚本,出现这个,一路输入y

1
Reversed (or previously applied) patch detected!  Assume -R? [n]

​ 开始模拟

1
2
3
./init.sh

wget https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/DIR-868L_fw_revB_2-05b02_eu_multi_20161117.zip
1
2
3
4
5
6
root@VM-0-9-ubuntu:/home/ubuntu/FirmAE# ./run.sh -r tenda DIR868L_B1_FW205WWb02.bin
[*] DIR868L_B1_FW205WWb02.bin emulation start!!!
Traceback (most recent call last):
File "./sources/extractor/extractor.py", line 19, in <module>
import binwalk
ModuleNotFoundError: No module named 'binwalk'

​ 不能直接pip3 install binwalk! 也不能apt install binwalk!!!!

​ 参考:https://www.secpulse.com/archives/201139.html

​ 可以观察到它目录下有binwalk这个目录,cd进去后 python3 setup.py install

image-20230603202938128

解压固件要用这个命令 (github上也没说啊!!!!)

1
binwalk -Me xxxx.bin --run-as=root

​ 然后再run就可以了(有时候环境比较复杂,不知道哪个开的有影响,采用重启大法! 重启后init,然后run)

image-20230603210311207

​ 由于模拟环境是在云服务器上上的内网网卡,公网无法直接访问,需要做个端口转发,

​ gost:https://github.com/ginuerzh/gost

​ gzip -d 解压

1
gost -L=tcp://:2222/192.168.0.2:80

​ 然后就可以访问了!!!

image-20230603210402320