安装环境
ubuntu18.04 desktop
FAT下载
Firmware Analysis Toolkit
基于Firmadyne
进行了一些更改。
Firmadyne 使用 PostgreSQL 数据库来存储有关模拟图像的信息。
FAT 是一个工具包,可帮助安全研究人员分析和识别 IoT 和嵌入式设备固件中的漏洞。
Firmadyne是一款自动化分析嵌入式Linux系统安全的开源软件,由卡内基梅隆大学的Daming D. Chen开发完成的。它支持批量检测,整个系统包括固件的爬取、root文件系统的提取、QEMU模拟执行以及漏洞的挖掘。
安装使用步骤
git clone https://github.com/attify/firmware-analysis-toolkit
cd firmware-analysis-toolkit
./setup.sh
#setup.sh安装了很多东西所以安装很耗时,有时网速不行,耐心等待,我最后安装成功了
但是要正常使用一些功能还缺少数据库模块
1. sudo apt-get install postgresql
2. sudo -u postgres createuser -P firmadyne,用`firmadyne`的密码
3. sudo -u postgres createdb -O firmadyne firmware
4. sudo -u postgres psql -d firmware < ./firmadyne/database/schema
5.echo "ALTER USER firmadyne PASSWORD 'firmadyne'" | sudo -u postgres psql
- 设置
fat.config
,某些业务要有sudo权限
[DEFAULT]
sudo_password=attify123
firmadyne_path=/home/attify/firmadyne
- 运行
fat.py
./fat.py <firmware file>
- 将固件文件名作为脚本的参数提供。
- 该脚本将显示分配给创建的网络接口的 IP 地址。
- 最后,它会说运行固件。点击 Enter 并等待固件启动。平上一步中显示的 IP,或在浏览器中打开。
- 要删除所有分析的固件映像,请运行
$ ./reset.py
setup.sh说明
安装了fat(Firmware Analysis Toolkit)
所需的依赖
可以发现fat源码很小,
但脚本要安装Firmadyne的依赖,qemu,binwalk,binwalk的依赖,firemadyne的组件等
主要还是基于Firmadyne
#!/bin/sh
set -e
sudo apt update
sudo apt install -y python-pip python3-pip python3-pexpect unzip busybox-static fakeroot kpartx snmp uml-utilities util-linux vlan qemu-system-arm qemu-system-mips qemu-system-x86 qemu-utils
#安装Firmadyne的依赖和qemu
#安装binwalk
echo "Installing binwalk"
git clone --depth=1 https://github.com/devttys0/binwalk.git
cd binwalk
sudo ./deps.sh
#自动安装binwalk的依赖的sh文件
sudo python3 ./setup.py install
#安装binwalk
sudo -H pip3 install git+https://github.com/ahupp/python-magic
sudo -H pip install git+https://github.com/sviehb/jefferson
#安装binwalk extractor的依赖库
cd ..
echo "Installing firmadyne"
git clone --recursive https://github.com/firmadyne/firmadyne.git
cd firmadyne
./download.sh
#安装firemadyne的组件
firmadyne_dir=$(realpath .)
# Set FIRMWARE_DIR in firmadyne.config
sed -i "/FIRMWARE_DIR=/c\FIRMWARE_DIR=$firmadyne_dir" firmadyne.config
#在firmadyne.config配置固件