Binary Analysis with Firmware Analysis and Comparison Tool (FACT)
Firmware Analysis and Comparison Tool (FACT) is an automation toolkit to analyze binaries of IoT devices, network devices, drones, UEFI, etc.). This tool comes with a beautiful web interface and you just need to upload test binary on it. This tool automates the whole process by using different tools such as binwalk, QEMU etc.
Binary analysis is a process of identifying weaknesses in the behavior of binary programs and it involves both static and dynamic analysis. Static just involve code analysis and achieve full coverage. The dynamic analysis evaluates the program while running with limited coverage.
|Extraction of binary||Binary Extraction is the first task performed by a security professional. Binary may be extracted by using different methods such as by using SPI flash, JTAG, exploit a weakness in upgrade mechanism, by official website etc.|
|Information Gathering||By using tools such as binwalk, Firmadyne, etc.|
|Collecting vulnerabilities||Identifying secrets such as API keys, passwords, etc.|
|Reverse Engineering||By using Ghidra, IDA Pro etc.|
Advantage of using FACT
- Combine different results by using tool
- Fast and help in a quick start
- Easy to use as just need to upload binary on a tool
- Web-based GUI
- Compare two versions of firmware
- Automate tasks such as unpacking, information gathering etc.
- different plugins for unpacker, analysis and compare are available for elf analysis, source code analysis, known vulnerabilities, etc.
You can install FACT by using the below set of commands:
$ sudo apt update && sudo apt upgrade && sudo apt install git $ git clone https://github.com/fkie-cad/FACT_core.git ~/FACT_core $ ~/FACT_core/src/install/pre_install.sh && sudo mkdir /media/data && sudo chown -R $USER /media/data
After successful installation, shoot the below command:
Now, open the browser and type http://localhost:5000 to access FACT.
To start, just upload the binary on the FACT tool and run the tool. The tool typically takes 10-15 minutes to analyze the binary file and provide results.
Subscribe us to receive more such articles updates in your email.
If you have any questions, feel free to ask in the comments section below. Nothing gives me greater joy than helping my readers!
Disclaimer: This tutorial is for educational purpose only. Individual is solely responsible for any illegal act.