
firmwalker
Ein einfaches Bash-Skript zur Durchsuchung des extrahierten oder eingehängten Firmware-Dateisystems.
Es durchsucht das extrahierte oder eingehängte Firmware-Dateisystem nach interessanten Dingen wie:
- etc/shadow und etc/passwd
- Auflistung des etc/ssl-Verzeichnisses
- Suche nach SSL-bezogenen Dateien wie .pem, .crt, usw.
- Suche nach Konfigurationsdateien
- Suche nach Skriptdateien
- Suche nach anderen .bin-Dateien
- Suche nach Schlüsselwörtern wie admin, password, remote, usw.
- Suche nach gängigen Webservern, die auf IoT-Geräten verwendet werden
- Suche nach gängigen Binärdateien wie ssh, tftp, dropbear, usw.
- Suche nach URLs, E-Mail-Adressen und IP-Adressen
- Experimentelle Unterstützung für Aufrufe der Shodan-API über die Shodan-CLI
Verwendung
- Falls Sie den statischen Codeanalyse-Teil des Skripts verwenden möchten, installieren Sie bitte eslint:
npm i -g eslint
./firmwalker {Pfad zum Wurzeldateisystem} {Pfad für firmwalker.txt}
- Beispiel:
./firmwalker linksys/fmk/rootfs ../firmwalker.txt
- Eine Datei
firmwalker.txt wird im selben Verzeichnis wie die Skriptdatei erstellt, sofern Sie nicht einen anderen Dateinamen als zweites Argument angeben.
- Legen Sie die Datei firmwalker.sh nicht in das zu durchsuchende Verzeichnis, da das Skript sonst sich selbst und die zu erstellende Datei durchsucht.
chmod 0700 firmwalker.sh
Erweiterungsmöglichkeiten
- Schauen Sie unter 'data' nach, wo die Prüfungen abgelegt sind, oder fügen Sie ESLint-Regeln - http://eslint.org/docs/rules/ - zur eslintrc.json hinzu.
- squashfs-root.zip - enthält Dateien aus zufällig extrahierter Router-Firmware. Firmwalker kann gegen dieses Dateisystem ausgeführt werden.
- rt-ac66u.txt - Ausgabedatei von firmwalker
- xc.txt - Ausgabedatei von firmwalker von einem Ubiquiti-Gerät
Skript erstellt von Craig Smith und erweitert von:
- Athanasios Kostopoulos
- misterch0c
Links