Binwalk Anwenden: Unterschied zwischen den Versionen
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 5: | Zeile 5: | ||
*dd if=/dev/urandom of=header.bin bs=1k count=4 | *dd if=/dev/urandom of=header.bin bs=1k count=4 | ||
*tar czf teil.tar.gz /etc/hosts /etc/passwd | *tar czf teil.tar.gz /etc/hosts /etc/passwd | ||
| − | *cp Tux.png bild.png | + | *cp Datei:Tux.png bild.png |
*cat header.bin bild.png teil.tar.gz > firmware.bin | *cat header.bin bild.png teil.tar.gz > firmware.bin | ||
| Zeile 26: | Zeile 26: | ||
=Suchen nach Opcodes= | =Suchen nach Opcodes= | ||
Durchsucht die Datei nach ausführbaren Opcodes gängiger CPU-Architekturen. Einige Opcode-Signaturen sind kurz und damit anfällig für Fehltreffer. | Durchsucht die Datei nach ausführbaren Opcodes gängiger CPU-Architekturen. Einige Opcode-Signaturen sind kurz und damit anfällig für Fehltreffer. | ||
| − | *binwalk | + | *binwalk /bin/ls |
=Deaktiviert den "intelligenten" Signaturabgleich= | =Deaktiviert den "intelligenten" Signaturabgleich= | ||
Aktuelle Version vom 21. August 2026, 06:23 Uhr
Testobjekt bauen
binwalk braucht eine Datei mit mehreren eingebetteten Formaten. Eine solche "Firmware" bauen wir uns selbst — so ist bekannt, was drinsteckt, und das Ergebnis ist vorhersagbar.
- cd /tmp
- wget https://de.wikipedia.org/wiki/Datei:Tux.png
- dd if=/dev/urandom of=header.bin bs=1k count=4
- tar czf teil.tar.gz /etc/hosts /etc/passwd
- cp Datei:Tux.png bild.png
- cat header.bin bild.png teil.tar.gz > firmware.bin
Signature
Führt eine Signaturanalyse der angegebenen Datei durch. Ist keine andere Analyseoption angegeben, ist dies die Standardeinstellung. Explizit angeben, wenn man die Signaturanalyse mit weiteren Analysatoren wie --entropy kombinieren möchte.
- binwalk firmware.bin
- binwalk --signature --entropy firmware.bin
In der Ausgabe erscheinen Offset, Hexadezimal-Offset und Beschreibung — hier PNG-Bild und gzip-Archiv an den Positionen, an denen wir sie angehängt haben.
Entropie
Zeigt den Entropieverlauf über die Datei. Hohe Entropie bedeutet komprimierte oder verschlüsselte Bereiche, niedrige Entropie Klartext oder Padding.
- binwalk -E firmware.bin
Der Zufallsdaten-Header und das gzip-Archiv liegen auf hohem Niveau, dazwischen sind die Übergänge deutlich sichtbar.
Suche nach einem String
Sucht nach einer beliebigen Byte-Folge statt nach bekannten Signaturen.
- binwalk -R "\x1f\x8b\x08" firmware.bin
Die Folge 1f 8b 08 ist der gzip-Magic-Header — der Treffer liegt am selben Offset wie in der Signaturanalyse.
Suchen nach Opcodes
Durchsucht die Datei nach ausführbaren Opcodes gängiger CPU-Architekturen. Einige Opcode-Signaturen sind kurz und damit anfällig für Fehltreffer.
- binwalk /bin/ls
Deaktiviert den "intelligenten" Signaturabgleich
Nützlich, wenn Schlüsselwörter der intelligenten Signaturen (z.B. Jump-to-Offset) in falsch positiven Treffern dazu führen, dass andere gültige Signaturen übersehen werden.
- binwalk -b firmware.bin
Entpacke Binary
Extrahiert alle erkannten Bestandteile in ein Unterverzeichnis.
- binwalk -e firmware.bin
- ls -l _firmware.bin.extracted/
Das PNG und das entpackte tar-Archiv liegen dort wieder als eigenständige Dateien vor.
Reale Beispiele auf dem System
Ohne eigene Firmware lassen sich auch vorhandene Dateien analysieren:
- binwalk /boot/initrd.img-$(uname -r)
- binwalk /boot/vmlinuz-$(uname -r)