FACT_core:一款固件安全分析和比较工具
2024-11-12 22:8:56 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

关于FACT_core

FACT_core是一款功能强大的固件安全分析和比较工具,该工具旨在自动化大部分固件分析过程,以辅助广大研究人员完成固件安全分析等任务。

该工具可以解压任意固件文件并处理多个分析,而且它还可以比较多个图像或单个文件。除此之外,FACT_core还能够解压、分析和比较插件,同时能提供最大的灵活性和可扩展性。

FACT_core被设计为多进程应用程序,因此设备的CPU核心和 RAM 越多越好。

支持的平台

我们可以在任何 Linux 发行版上安装 FACT_core,但安装程序仅限于:

Ubuntu 20.04(稳定版)

Ubuntu 22.04(稳定版)

Debian 11(稳定版)

Kali(实验性)

运行机制

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

源码获取

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

sudo apt update && sudo apt upgrade && sudo apt install git

git clone https://github.com/fkie-cad/FACT_core.git

cd FACT_core

src/install/pre_install.sh

然后切换到项目目录中,执行工具安装脚本:

cd FACT_core

src/install.py

快速安装

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

然后重新启动(例如,使用sudo reboot)并随后运行

~/FACT_core/src/install.py

~/FACT_core/start_all_installed_fact_components

等待几秒钟,打开浏览器并转到http://localhost:5000。可以使用Ctrl + c在终端中使用关闭 FACT。

工具使用

您可以通过执行start_all_installed_fact_components脚本来启动FACT_core。该脚本会自动检测所有已安装的组件。

$ ./start_all_installed_fact_components

之后可以分别通过http://localhost:5000和https://localhost (nginx)访问FACT_core。

结果的导入/导出

脚本src/firmware_import_export.py可用于导出解压后的文件和分析结果,并将其导入另一个 FACT 实例。数据以 ZIP 存档的形式存储,这也是脚本在导入期间所期望的格式。要导出已分析固件映像的文件和分析数据,只需运行:

python3 firmware_import_export.py export FW_UID [FW_UID_2 ...] [-o OUTPUT_DIR]

此后,您可以使用:

python3 firmware_import_export.py import FW.zip [FW_2.zip ...]

工具运行演示


许可证协议

本项目的开发与发布遵循GPL-3.0开源许可协议。

项目地址

FACT_core:【GitHub传送门

参考资料

https://fkie-cad.github.io/FACT_core

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/sectool/415118.html
如有侵权请联系:admin#unsafe.sh