n0s3y / FirmAE

Towards Large-Scale Emulation of IoT Firmware for Dynamic Analysis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FirmAE - User friendly and Error catching

This version of FirmAE has automated installation, GUI firmware debugging and error catching. For dev; see ./firm.sh, runner.sh for the script chain.

The installation is done by first RECURSIVELY cloning this repo. After that you cd into the directory and run the 'firm.sh' script which will do all the work for you. When this script is done (after about 3-6 minutes), you will be greeted by a pop-up to start running a test emulation. In the type field type: 'dlink' and select the file in the FirmAE folder called: "DIR895LA1_FW113b03.bin".

Standard official Repo information:


FirmAE is a fully-automated framework that performs emulation and vulnerability analysis. FirmAE significantly increases the emulation success rate (From Firmadyne's 16.28% to 79.36%) with five arbitration techniques. We tested FirmAE on 1,124 wireless-router and IP-camera firmware images from top eight vendors.

Installation

Note that we tested FirmAE on Kali 2022.3.

  1. Clone FirmAE. If you do not use '--recursive', errors will occur.
git clone --recursive https://github.com/n0s3y/FirmAE
  1. Run 'cd FirmAE'
cd FirmAE
  1. Run firm.sh script to install FirmAE after cloning. For the installation, a new terminal will open per script that starts. This will be confirmed by a print in the cli saying;'...sh has started'
./firm.sh
  1. Run runner.sh script to run and debug your firmware.
./runner.sh

A zenity popup to select the .bin firmware file in the FirmAE folder will popup and a type window will ask you to type in the brandname, use 'dlink' for the first test with the provided test firmware.

About

Towards Large-Scale Emulation of IoT Firmware for Dynamic Analysis

License:MIT License


Languages

Language:Python 70.3%Language:Shell 16.8%Language:C 12.1%Language:Dockerfile 0.6%Language:Makefile 0.2%