首页 > 其他分享 >Frim_AFL部署测试(论文复现)

Frim_AFL部署测试(论文复现)

时间:2024-10-10 17:18:38浏览次数:9  
标签:AFL QEMU py Frim sh 复现 firmadyne 9050 qemu

1. 论文参考(先敬大佬)

Yaowen Zheng, Ali Davanian, Heng Yin, Chengyu Song, Hongsong Zhu, Limin Sun“FIRM-AFL:通过增强过程仿真对物联网固件进行高吞吐量灰盒模糊测试”,USENIX 安全研讨会,2019 年。

源码:GitHub - zyw-200/FirmAFL: FIRM-AFL is the first high-throughput greybox fuzzer for IoT firmware.

2. 项目部署

2.1. 部署环境

ubuntu 16.04 (18.04碰壁了,摆烂!!!)

2.2. 导入源码

git clone https://github.com/zyw-200/FirmAFL

2.3. 编译QEMU和插件文件

需要基本的环境(gcc,pkg-config,zlib1g-dev libglib2.0-dev)

sudo apt install gcc pkg-config zlib1g-dev libglib2.0-dev python
  sudo apt-get install autoconf automake libtool
  sudo apt-get install libffi-dev

2.3.1. 用户模式编译

cd user_mode/
./configure --target-list=mipsel-linux-user,mips-linux-user,arm-linux-user --static --disable-werror
make

2.3.2. 系统模式编译

注意:需要先编译/sleuthkit和pixmax包,不然无法通过(3h)

sudo apt-get install binutils-dev libtsk-dev libboost-dev
cd qemu_mode/DECAF_qemu_2.10/
./configure --target-list=mipsel-softmmu,mips-softmmu,arm-softmmu --disable-werror
make

2.3.2.1. 编译问题

解决方法:

进入pixman目录,然后重新编译

./configure
make

此时会出现sleuthkit问题

cd /home/gjj/FirmAFL/qemu_mode/DECAF_qemu_2.10/shared/sleuthkit/
./configure
make

2.4. 导入Firmadyne

2.4.1. 安装firmadyne的部署流程走一遍

所有的操作都是没有报错和状态即可

2.4.2. 修改位置(不同的位置)

2.4.2.1. 修改所有的路径变量地址
vi ./firmadyne/firmadyne.config 

2.4.2.2. 将 scripts/makeImage.sh 替换为目录中修改firmadyne_modify脚本

2.4.2.3. 导入数据库

(如果已经导入了原始的schma,需要删除表格,重新导入sudo -u postgres dropdb firmware,sudo -u postgres createdb -O firmadyne firmware)

sudo -u postgres psql -d firmware < ./firmadyne/database/data

AFL,QEMU,py,Frim,sh,复现,firmadyne,9050,qemu
From: https://blog.csdn.net/gromatic/article/details/142827168

相关文章