REV Outil · Reverse engineering

binwalk

Analyser un firmware, détecter les signatures et extraire les systèmes de fichiers embarqués.

Débutant / 1 min de lecture / maj 30 oct 2026 / 4 tags
raw domaine signaler
Index des sheets

#Analyser

bash
# Signatures et offsets
binwalk firmware.bin

# Entropie (zones compressées/chiffrées)
binwalk -E firmware.bin

# Signature + entropie + opcodes
binwalk -A firmware.bin

# Rechercher une signature précise
binwalk -R "\x50\x4b\x03\x04" firmware.bin
bash
# Extraire automatiquement
binwalk -e firmware.bin

# Extraction récursive (attention à la taille)
binwalk -Me firmware.bin

# Extraire uniquement certains types
binwalk -e --include='squashfs' firmware.bin
Option Effet
-e Extraction automatique
-M Extraction récursive (matryoshka)
-E Entropie
-A Opcodes
-R Recherche d'une signature
-D Extraction avec type spécifié

#Identifier et monter

bash
file firmware.bin
strings -n 8 firmware.bin | head -50

# Systèmes de fichiers extraits
file _firmware.bin.extracted/*
unsquashfs _firmware.bin.extracted/squashfs-root.squashfs
jefferson _firmware.bin.extracted/jffs2-root.jffs2 -d out/
bash
# Monter une image ext4
sudo mount -o loop,ro rootfs.ext4 /mnt/fw
sudo mount -t squashfs -o loop squashfs-root.squashfs /mnt/fw

#Workflow firmware

bash
# 1. Hashes et type
sha256sum firmware.bin
file firmware.bin

# 2. Entropie et signatures
binwalk -E firmware.bin
binwalk firmware.bin

# 3. Extraction
binwalk -Me firmware.bin

# 4. Recherche de secrets et binaires intéressants
grep -rInE "password|secret|api[_-]?key|BEGIN (RSA|OPENSSH)" _firmware.bin.extracted/ 2>/dev/null
find _firmware.bin.extracted -type f -name "*.so" -o -name "*.cgi" | head

# 5. Analyse des services exposés
cat _firmware.bin.extracted/etc/init.d/*
INDEX // 42 FICHES // 12 DOMAINES LOCAL SEARCH
↑↓ naviguer ↵ ouvrir esc fermer sheet.sec / find
Raccourcis clavier
Recherche globale /ou⌘K
Naviguer dans les résultats ↑↓
Ouvrir le résultat actif ↵
Fermer une fenêtre esc
Accueil gh
Tous les sheets gs
Fiche aléatoire gr
Cette fenêtre ?