Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
FACT_core — Outil d'analyse et de comparaison de firmware | Kitploit
Outils/GitHubGitHub/fkie-cad/fact_core
Sécurité des Systèmes EmbarquésAnalyse StatiqueAnalyse Dynamique (Sandboxing)Sécurité IoTAnalyse des VulnérabilitésRétro-ingénierieAnalyse ForensiqueSécurité MatérielleAnalyse de BinairesAnalyse de Micrologiciel
GitHubfkie-cad/fact_core
1.5k250il y a 16 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

FACT_core

Outil d'analyse et de comparaison de firmware

Voir le dépôtSite web

Logo FACT avec une loupe en guise de C
L'outil d'analyse et de comparaison de firmware (FACT)

codecov Codacy Badge Gitter chat CI Build License: GPL v3

Sommaire

  • Pourquoi FACT ?
  • Installation
  • Utilisation
  • Documentation
  • Contribuer
  • Plugins supplémentaires
  • Import / Export d'analyse
  • Présentations
  • Social
  • Remerciements
  • Licence

Pourquoi FACT ?

L'analyse de firmware peut être utilisée pour atteindre plusieurs objectifs intéressants. Le principal est d'identifier la fonctionnalité, les composants et les potentielles faiblesses de sécurité dans un firmware en boîte noire.

L'outil d'analyse et de comparaison de firmware (FACT) vise à automatiser autant que possible le travail manuel d'analyse de firmware. FACT combine un ensemble croissant d'analyses puissantes pour créer une interface unifiée qui amène l'utilisateur d'un échantillon de firmware arbitraire à une analyse terminée. L'une des caractéristiques clés de l'analyse FACT est que les résultats sont

  • navigables
  • consultables
  • et comparables.

De plus, FACT offre plusieurs façons de naviguer et de visualiser les résultats d'analyse et le contenu du firmware pour une accessibilité facile. L'interface principale de FACT est une interface web basée sur HTML/JS/CSS qui peut être hébergée localement ou partagée via le réseau. En outre, FACT propose une API HTTP de type REST qui peut être explorée avec une interface SwaggerUI intégrée. Quelques fonctionnalités clés de l'interface web sont :

  • Visualisation facile du firmware par un arbre de fichiers affichant tous les composants du firmware.
  • Navigation rapide dans les résultats d'analyse en observant les résumés des résultats sur tous les composants du firmware.
  • Mise en évidence des résultats d'analyse pertinents sous forme d'étiquettes en haut de chaque page.
  • Diverses options de téléchargement pour le firmware et les composants afin de passer à une analyse avancée.

Bien que FACT soit maintenu comme un prototype de recherche, le projet est bien testé, comprend une documentation de base et offre une multitude de fonctionnalités de niveau production. Nous sommes toujours à la recherche de commentaires et de demandes de fonctionnalités.

Plus de détails et quelques captures d'écran se trouvent sur notre page projet.

Installation

Prérequis

FACT est conçu comme une application multiprocessus ; plus il y a de cœurs et de RAM, mieux c'est.

MinimumRecommandé
4 cœurs16 cœurs
8 Go de RAM64 Go de RAM
10 Go d'espace disque10* Go d'espace disque

[!NOTE] Environ 10 Go nécessaires pour installer le code FACT, le conteneur et les binaires. Un espace supplémentaire est nécessaire pour le stockage des fichiers décompressés et des résultats d'analyse. Cela peut être sur une partition ou un disque séparé.

Installation locale

Il est principalement possible d'installer FACT sur n'importe quelle distribution Linux, mais l'installateur est limité à

  • Debian 12/13 ou compatible (stable)
  • Ubuntu 22.04/24.04/26.04 ou compatible (stable)
  • Kali (expérimental)

L'installation sur des distributions plus anciennes (par exemple Debian 11 "Bullseye" ou Ubuntu 20.04 "Focal") peut encore fonctionner, mais n'est pas considérée comme stable, car ces distributions ont atteint leur fin de vie.

FACT nécessite Python 3.10–3.14 (devrait être la version par défaut dans toutes les distributions supportées)

Le processus d'installation est largement automatisé et intégré dans un seul script. Certaines fonctionnalités peuvent être sélectionnées spécifiquement. Pour un guide détaillé sur l'installation de FACT, voir INSTALL.md.

[!IMPORTANT] Notez que tout en faisant un usage intensif des conteneurs, FACT contient encore de nombreuses dépendances (et il n'y a pas de désinstallation fournie). Si vous souhaitez garder votre système propre, vous pouvez essayer l'une des options d'installation proposées ci-dessous.

Vagrant

Nous fournissons des boîtes Vagrant mensuelles et prêtes à l'emploi de notre branche master. Vagrant est un moyen simple et pratique de démarrer avec FACT sans avoir à l'installer sur votre machine. Il suffit de configurer Vagrant et d'importer notre boîte fournie dans VirtualBox. Nos boîtes se trouvent sur le site vagrantup !

Consultez comment démarrer avec FACT et Vagrant dans notre tutoriel.

Docker

Il existe également une version dockerisée, mais elle n'est actuellement pas maintenue. (voir le dépôt FACT_docker pour plus d'informations).

Utilisation

Vous pouvez démarrer FACT en exécutant le script start_fact.py. Le script détecte automatiquement tous les composants installés.

root@kitploit:~
src/start_fact.py

Ensuite, FACT est accessible sur http://localhost:5000 (par défaut) ou https://localhost (si FACT est installé avec nginx).

Vous pouvez arrêter le système en appuyant sur Ctrl + c ou en envoyant un SIGTERM au script start_fact.py.

[!CAUTION] FACT n'est pas destiné à être utilisé comme service internet public. L'interface web n'est pas une application durcie. Nous essayons de limiter les problèmes de sécurité en appliquant SecDevOps, mais FACT peut encore présenter des vulnérabilités. Assurez-vous de réinitialiser tous les mots de passe dans la configuration FACT si vous prévoyez d'héberger FACT sur des réseaux non entièrement fiables.

Documentation

[!TIP] Plus de documentation sur l'utilisation de FACT se trouve dans nos pages wiki.

Vous pouvez également consulter notre documentation Sphinx.

Des informations sur ce qu'est FACT et comment il fonctionne se trouvent également dans les diapositives du dossier docs.

API REST

FACT fournit une API REST. Plus d'informations sur la page wiki.

Gestion des utilisateurs

FACT propose une authentification de base, des rôles et une gestion des utilisateurs optionnels. Plus d'informations sur la page wiki.

Contribuer

La façon la plus simple de contribuer est d'écrire votre propre plugin. Notre manuel du développeur se trouve dans le wiki sur GitHub.

Plugins supplémentaires

Plugins supplémentaires actuellement disponibles :

  • Codescanner (⚠️ licence différente)
    • Classification des segments (par exemple ascii / code / haute entropie) dans des binaires arbitraires
    • Classification de l'architecture CPU dans les segments de code

Import / Export d'analyse

Le script src/firmware_import_export.py peut être utilisé pour exporter des fichiers décompressés et des résultats d'analyse et les importer dans une autre instance FACT. Les données sont stockées dans une archive ZIP, et c'est également le format attendu par le script lors de l'importation. Pour exporter les fichiers et les données d'analyse des images firmware analysées, exécutez

root@kitploit:~
python3 firmware_import_export.py export FW_UID [FW_UID_2 ...] [-o OUTPUT_DIR]

[!NOTE] Les archives exportées peuvent occuper un espace disque significatif. Il n'y a pas de relation fixe, mais cela peut dépasser la taille du firmware original d'un facteur 2 à 10.

Après cela, vous pouvez importer les fichiers exportés avec

root@kitploit:~
python3 firmware_import_export.py import FW.zip [FW_2.zip ...]

Présentations

BlackHat Arsenal

Nous avons eu le plaisir de présenter FACT lors de plusieurs sessions du BlackHat Arsenal.

  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal
  • Black Hat Arsenal

Autres

  • Hardwear.io 2017 / Diapositives
  • Pass the salt 2019 / Diapositives / Vidéo
  • Hardwear.io 2019

Social

  • Twitter
  • Gitter

Remerciements

Merci à @botlabsDev, qui a initialement fourni un Vagrantfile aujourd'hui, cependant, déprécié.

Ce projet est partiellement financé par l'Office fédéral allemand pour la sécurité de l'information (BSI) et d'autres.

Licence

Firmware Analysis and Comparison Tool (FACT)

Copyright (C) 2015-2026 Fraunhofer FKIE

Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure. Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER.
Voir la licence publique générale GNU pour plus de détails. Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce programme.
Si ce n'est pas le cas, consultez http://www.gnu.org/licenses/.

Certains plugins peuvent avoir des licences différentes. Si c'est le cas, un fichier de licence est fourni dans le dossier du plugin.

Télécharger l’outil