Binwalk

Analyser et extraire le firmware

Ouvrez le firmware. Trouvez la structure. Extrayez les preuves. Binwalk identifie et extrait les fichiers, systèmes de fichiers, flux compressés, exécutables, chargeurs de démarrage, noyaux et autres données intégrés dans le firmware et les images binaires — conçu pour la recherche en sécurité firmware, la rétro-ingénierie et la forensique numérique.

Télécharger BinwalkVoir sur GitHub

Gratuit et open source · Binwalk 3.1.0 · Linux, macOS et Windows (WSL/Docker) · options d’installation

Enregistrement animé d’un terminal montrant Binwalk analyser et extraire une image de firmware

Qu’est-ce que Binwalk ?

Une image de firmware contient rarement un seul fichier. Elle peut renfermer des couches de données compressées, des en-têtes propriétaires, des composants du système d’exploitation, du code de démarrage, des certificats, des exécutables, des fichiers de configuration et des systèmes de fichiers complets — et localiser chacun d’eux à la main est lent et source d’erreurs.

Binwalk automatise la première étape de l’analyse : il parcourt les données binaires à la recherche de structures connues, valide les objets qu’il détecte et indique où commence chaque composant reconnu. Créé à l’origine par Craig Heffner chez ReFirm Labs, Binwalk v3 a reconstruit le moteur en Rust pour la vitesse, la validation structurelle et un taux de faux positifs plus faible. Il est open source sous licence MIT et fonctionne comme outil en ligne de commande ou comme bibliothèque Rust.

Comment fonctionne Binwalk

Six commandes couvrent l’essentiel de l’analyse de firmware — analyser, extraire, parcourir récursivement, mesurer l’entropie, journaliser et consulter.

1

Analyser et identifier

$ binwalk firmware.bin

Cartographiez la structure interne d’une image : Binwalk signale les objets reconnus par décalage décimal et hexadécimal, avec leur taille, les détails de format, les paramètres de compression, l’architecture, les métadonnées de système de fichiers et un niveau de confiance pour chaque détection.

2

Extraire le contenu intégré

$ binwalk -e firmware.bin

Extrayez les fichiers, archives, flux compressés et systèmes de fichiers reconnus à l’aide des extracteurs intégrés ou des utilitaires externes pris en charge — sans calcul manuel de décalage ni découpage de fichiers (file carving).

3

Décompresser le firmware imbriqué

$ binwalk -Me firmware.bin

Analysez de façon récursive les fichiers nouvellement extraits pour découvrir des archives à l’intérieur de systèmes de fichiers, des données compressées dans des partitions et les couches plus profondes des paquets de mise à jour et des firmwares en couches.

4

Localiser les zones inconnues

$ binwalk --entropy firmware.bin

Générez un graphique d’entropie pour repérer les transitions entre données structurées et zones à forte entropie — la compression, le chiffrement ou le remplissage que les signatures seules n’expliquent pas.

5

Enregistrer des résultats structurés

$ binwalk --log=results.json firmware.bin

Exportez les résultats de signatures et d’entropie au format JSON pour l’automatisation, le reporting, l’indexation, la comparaison ou le transfert vers d’autres outils d’analyse.

6

Consulter les signatures prises en charge

$ binwalk --list

Affichez les signatures disponibles dans la version installée, leurs noms internes et l’utilitaire d’extraction associé à chaque format.

Pourquoi Binwalk

Des analyseurs Rust personnalisés, des résultats associés à un niveau de confiance et une sortie prête pour l’automatisation — pour qu’une analyse soit un point de départ fiable, et non un tas de suppositions.

Validation au-delà des magic bytes

Binwalk v3 utilise des analyseurs Rust personnalisés pour confirmer une structure, calculer la taille d’un objet intégré et déterminer où l’analyse se poursuit — bien moins de faux positifs qu’une simple correspondance de signatures d’octets.

Un niveau de confiance pour chaque résultat

Chaque détection est notée élevée (métadonnées et données validées), moyenne (vérifications de métadonnées cohérentes réussies) ou faible (octets d’identification uniquement) — pour distinguer facilement les détections fiables de celles à examiner manuellement.

Analyse d’entropie

Visualisez le caractère aléatoire des données pour repérer où commence et se termine une partition compressée, savoir si une image contient plusieurs zones et quelles sections inexpliquées peuvent être chiffrées, remplies ou inconnues.

Analyses ciblées

Les grandes images contiennent des milliers d’objets. Excluez les médias bruyants, limitez-vous à certaines signatures ou parcourez chaque décalage pour un balayage exhaustif — afin que les résultats restent lisibles lors de travaux urgents.

Conçu pour l’automatisation

La sortie JSON alimente les scripts, les pipelines CI et les plateformes forensiques. La bibliothèque Rust de Binwalk s’intègre directement dans les applications lorsque l’exécution en ligne de commande et l’analyse du JSON ne suffisent pas.

Analyse entièrement locale

Tout s’exécute dans votre propre environnement — les images produit sensibles, les builds non publiés et les preuves forensiques n’ont jamais besoin d’être téléversés. Pour les échantillons non fiables, travaillez dans une machine virtuelle ou un conteneur.

Formats pris en charge

Plus de 100 signatures de fichiers et de données couvrant les formats de firmware, de système d’exploitation, d’archive, de système de fichiers, d’exécutable et de sécurité.

Firmware & formats de démarrage

TRXuImageAndroid bootAndroid sparseUEFI capsuleUEFI volumeDevice tree (DTB)CFE bootloaderMatter OTAD-Link / TP-Link / Dahua

Systèmes de fichiers & structures de disque

SquashFSJFFS2UBIUBIFSEXTFATNTFSAPFSBTRFSCramFSRomFSYAFFSISO9660MBRGPT/EFI

Compression & archives

gzipLZMAXZZIP7-Zipbzip2LZ4LZFSELZOZstandardRARCPIOTARCABARJ

Exécutables & système

ELFWindows PELinux kernelARM / ARM64 bootWindows CEVxWorksQNXQEMU disk image

Sécurité & cryptographie

Certificats PEMClés publiques / privéesEn-têtes LUKSChiffré OpenSSLTables AESClés de session RSAConstantes de hachageFichiers signés

Les formats disponibles et les capacités d’extraction varient selon la version de Binwalk et les utilitaires externes installés sur le système.

Qui utilise Binwalk

De la recherche en sécurité au développement embarqué — partout où le firmware et les données binaires doivent être ouverts.

Recherche en sécurité firmware & IoT

Cartographiez les paquets de mise à jour, récupérez les systèmes de fichiers intégrés, inspectez les scripts de démarrage, localisez les fichiers de configuration et préparez le firmware pour l’analyse de vulnérabilités.

Équipes sécurité produit & PSIRT

Triez le firmware des routeurs, caméras, dispositifs industriels, appareils, systèmes automobiles et produits connectés avant une analyse statique plus poussée ou une émulation.

Rétro-ingénierie

Décomposez les conteneurs propriétaires en éléments plus petits, identifiez les limites internes, localisez le code exécutable et réduisez la quantité de données inconnues à inspecter manuellement.

Forensique numérique & réponse à incident

Extrayez les artefacts des images de périphériques, identifiez les charges utiles intégrées et exportez des résultats structurés pour des workflows forensiques reproductibles.

Développement embarqué

Inspectez les images de version, vérifiez les composants attendus, comparez les agencements de firmware et intégrez l’analyse binaire à vos outils de développement ou d’assurance qualité.

Hardware hacking & formation

Passez rapidement d’une image flash capturée ou d’un fichier de mise à jour fournisseur à un système de fichiers racine extrait, un noyau, un chargeur de démarrage et une configuration propre à l’appareil.

Installer Binwalk

Linux 64 bits (Cargo)

Linux est la plateforme officiellement prise en charge pour Binwalk v3, les distributions basées sur Ubuntu offrant l’installation la plus prévisible. Certains systèmes de fichiers et formats d’archive nécessitent des utilitaires externes supplémentaires.

$ cargo install binwalk

macOS & Linux (Homebrew)

Homebrew fournit une installation prépackagée pour les environnements macOS et Linux pris en charge.

$ brew install binwalk

Docker

Docker offre un environnement reproductible aux dépendances maîtrisées, bien adapté à une analyse de firmware isolée.

$ sudo docker run -t -v "$PWD":/analysis binwalkv3 -Me firmware.bin

Windows (WSL ou Docker)

Pour le workflow Windows le plus prévisible, exécutez Binwalk dans WSL ou Docker. Les builds Windows natifs peuvent compiler, mais les tests et le support en amont restent limités.

$ wsl -- cargo install binwalk

Obtenir le code source de Binwalk

Téléchargez l’archive source de Binwalk 3.1.0 pour compiler à partir des sources, inspecter l’implémentation, contribuer des signatures et des analyseurs, ou intégrer la bibliothèque Rust à votre propre projet. L’analyse reste locale — considérez le code extrait comme non fiable et gardez les échantillons inconnus isolés.

Archive source (.zip) · Binwalk 3.1.0 · Licence MIT

Questions fréquentes

Qu’est-ce que Binwalk ?

Binwalk est un outil open source d’analyse de firmware qui identifie et extrait les fichiers, systèmes de fichiers, données compressées, exécutables, chargeurs de démarrage, noyaux, certificats et autres structures intégrés dans les images binaires. Il est couramment utilisé pour la recherche en sécurité firmware, la rétro-ingénierie, la forensique numérique, le développement embarqué, le hardware hacking et les enquêtes de sécurité produit.

À quoi sert Binwalk ?

Binwalk aide les analystes à comprendre la structure interne d’un firmware et d’autres fichiers binaires. Les usages typiques incluent l’extraction de systèmes de fichiers intégrés, la localisation de zones compressées ou chiffrées, l’identification de code exécutable, la récupération de fichiers de configuration, l’inspection de paquets de mise à jour, la comparaison d’agencements de firmware et la préparation d’images binaires pour une analyse de sécurité approfondie.

À qui s’adresse Binwalk ?

Binwalk s’adresse aux chercheurs en sécurité, ingénieurs en rétro-ingénierie, testeurs d’intrusion, analystes forensiques, développeurs embarqués, hardware hackers, équipes de sécurité produit et à toute personne travaillant avec du firmware ou des données binaires. Il prend en charge aussi bien l’inspection rapide en ligne de commande que des workflows d’analyse automatisés plus avancés.

Quels types de fichiers Binwalk peut-il analyser ?

Binwalk peut analyser des images de firmware, des dumps de mémoire flash, des paquets de mise à jour, des images disque, des images de démarrage, des exécutables, des archives, des flux compressés et d’autres fichiers binaires. Le fichier n’a pas besoin d’une extension standard — Binwalk analyse les données binaires sous-jacentes plutôt que de se fier au nom du fichier.

Binwalk peut-il extraire des fichiers d’un firmware ?

Oui. Binwalk peut extraire automatiquement de nombreux fichiers, archives, flux compressés et systèmes de fichiers reconnus. Certains formats sont gérés par une logique d’extraction intégrée, tandis que d’autres nécessitent des utilitaires supplémentaires installés sur le système. La prise en charge de la détection et de l’extraction peut varier selon le format et la version de Binwalk installée. Une extraction de base s’effectue avec binwalk -e firmware.bin.

Binwalk peut-il décompresser de façon récursive un firmware imbriqué ?

Oui. L’extraction récursive permet à Binwalk d’analyser les fichiers créés pendant le processus d’extraction. C’est utile lorsque le firmware contient plusieurs couches — par exemple un paquet de mise à jour fournisseur contenant une partition compressée, qui contient elle-même un système de fichiers, des archives et des exécutables intégrés. Une commande récursive courante est binwalk -Me firmware.bin.

Que montre une analyse d’entropie ?

Une analyse d’entropie visualise le degré d’aléa ou de répétition des différentes zones d’un fichier binaire. Les zones à forte entropie contiennent souvent des données compressées ou chiffrées ; les zones à faible entropie peuvent contenir du texte, des enregistrements structurés, du remplissage ou des données répétitives. L’analyse d’entropie ne prouve pas qu’une zone est chiffrée ou compressée, mais elle révèle des limites et des zones inexpliquées qui méritent une investigation plus approfondie.

Quelle est la précision des signatures de Binwalk ?

La précision dépend du format, de l’analyseur disponible et du niveau de validation structurelle possible. Binwalk v3 peut valider de nombreux objets détectés au-delà de leurs octets d’identification initiaux, ce qui aide à réduire les faux positifs, à calculer la taille des objets et à fournir des métadonnées plus utiles. Les résultats doivent néanmoins être considérés comme des indices pour une analyse plus poussée plutôt que comme une conclusion définitive.

Binwalk fonctionne-t-il localement ?

Oui. Binwalk s’exécute localement sur le système de l’analyste. Les images de firmware, les builds non publiés, les fichiers clients et les preuves forensiques n’ont pas besoin d’être téléversés vers un service externe, ce qui rend Binwalk adapté à la recherche sensible et aux environnements maîtrisés. Un firmware non fiable doit tout de même être analysé dans une machine isolée, une machine virtuelle ou un conteneur.

Quels systèmes d’exploitation prennent en charge Binwalk ?

Binwalk v3 est principalement développé et testé pour les systèmes Linux 64 bits. Il peut aussi être installé via Homebrew sur les environnements macOS et Linux pris en charge. Les utilisateurs Windows peuvent exécuter Binwalk via WSL ou Docker pour une configuration plus prévisible. La compatibilité native, les outils d’extraction disponibles et les prérequis d’installation peuvent varier selon la plateforme.

Comment installe-t-on Binwalk ?

Binwalk peut être installé via Cargo (cargo install binwalk), Homebrew (brew install binwalk), Docker, ou en compilant le projet à partir des sources sur GitHub. Certaines fonctions d’extraction nécessitent des utilitaires externes qui peuvent ne pas être installés automatiquement avec le paquet principal.

Binwalk est-il gratuit et open source ?

Oui. Binwalk est un logiciel open source distribué sous licence MIT. Le code source peut être inspecté, modifié, intégré à d’autres logiciels et utilisé dans des environnements commerciaux ou non commerciaux selon les termes de la licence.

Binwalk peut-il être intégré à des outils automatisés ?

Oui. Binwalk peut exporter les résultats d’analyse au format JSON structuré pour les scripts, les pipelines CI, les systèmes forensiques, les plateformes de traitement de firmware et les outils de sécurité internes. Binwalk v3 peut aussi être utilisé comme bibliothèque Rust, permettant aux applications d’analyser directement des données binaires sans se limiter à l’exécution en ligne de commande.

Qui a créé Binwalk ?

Binwalk a été créé à l’origine par Craig Heffner chez ReFirm Labs pour simplifier l’identification et l’extraction de données intégrées dans les images de firmware. Il est devenu un outil largement utilisé en sécurité firmware, rétro-ingénierie, forensique numérique, test d’intrusion et recherche matérielle. Binwalk v3 a reconstruit le moteur d’analyse en Rust avec un accent renforcé sur la performance, la validation structurelle, l’extraction et la réduction des faux positifs.

Binwalk est-il un scanner de sécurité firmware complet ?

Non. Binwalk est un outil d’identification, d’extraction et d’analyse de firmware. Il expose les composants présents dans une image binaire, mais il ne détermine pas automatiquement si chaque composant extrait est sûr ou vulnérable. Un workflow complet de sécurité firmware peut aussi inclure le désassemblage, la décompilation, l’émulation, l’analyse de composition logicielle, la recherche de secrets, la revue de configuration, l’analyse cryptographique, la recherche de vulnérabilités et des tests sur du matériel autorisé.

Binwalk est-il disponible pour Windows ?

Binwalk privilégie Linux, mais il fonctionne bien sous Windows via WSL (sous-système Windows pour Linux) ou un conteneur Docker, qui offrent l’environnement le plus proche de celui officiellement pris en charge. Dans WSL, vous pouvez l’installer avec cargo install binwalk et analyser des fichiers depuis vos disques Windows. Les builds Windows natifs peuvent compiler, mais ils reçoivent un support limité en amont.

Partez du binaire. Accédez plus vite aux preuves.

Cartographiez l’image de firmware, extrayez ses composants internes et identifiez les zones inexpliquées — open source, sous licence MIT, et analysé entièrement sur votre propre machine.