Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
firmware-analysis-toolkit — Werkzeugkasten zur Firmware-Emulation und Sicherheitsanalyse | Kitploit
Tools/GitHubGitHub/attify/firmware-analysis-toolkit
Embedded-System-SicherheitIoT-SicherheitSchwachstellenanalyseReverse EngineeringBinäranalyseLernen & BildungFirmware-Analyse
GitHubattify/firmware-analysis-toolkit

firmware-analysis-toolkit

Werkzeugkasten zur Firmware-Emulation und Sicherheitsanalyse

Repository anzeigen
1.6k283vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Firmware Analysis Toolkit

FAT ist ein Toolkit, das Sicherheitsforschern dabei hilft, Schwachstellen in IoT- und eingebetteten Geräte-Firmware zu analysieren und zu identifizieren. Es wird auch im Training „Offensive IoT Exploitation“ von Attify verwendet.

Hinweis:

  • Derzeit ist es lediglich ein Skript zur Automatisierung von Firmadyne, einem Tool zur Firmware-Emulation. Bei Problemen mit der eigentlichen Emulation wenden Sie sich bitte an die Firmadyne-Issues.

  • Falls Sie auf Probleme stoßen, können Sie AttifyOS ausprobieren, das das Firmware-Analyse-Toolkit und andere Tools vorinstalliert und einsatzbereit enthält.


Das Firmware Analysis Toolkit (im Folgenden FAT) basiert auf Firmadyne mit einigen Änderungen. Firmadyne verwendet eine PostgreSQL-Datenbank, um Informationen über die emulierten Images zu speichern. Für die Kernfunktionalität, also die Emulation von Firmware, wird PostgreSQL jedoch nicht wirklich benötigt. Daher verwendet FAT es nicht.

Installationsanleitung

FAT ist in Python 3 entwickelt. Sie müssen jedoch sowohl Python 3 als auch Python 2 installiert haben, da Teile von Firmadyne und dessen Abhängigkeiten Python 2 verwenden. Es wird dringend empfohlen, FAT innerhalb einer virtuellen Maschine zu installieren.

root@kitploit:~
git clone https://github.com/attify/firmware-analysis-toolkit
cd firmware-analysis-toolkit
./setup.sh

Nach Abschluss der Installation bearbeiten Sie die Datei fat.config und geben Sie das sudo-Passwort wie unten gezeigt an. Firmadyne benötigt für einige seiner Operationen sudo-Rechte. Das sudo-Passwort wird zur Automatisierung des Prozesses bereitgestellt.

root@kitploit:~
[DEFAULT]
sudo_password=attify123
firmadyne_path=/home/attify/firmadyne

Ausführen von FAT

root@kitploit:~
$ ./fat.py <firmware file>
  • Geben Sie den Firmware-Dateinamen als Argument für das Skript an.

  • Das Skript zeigt die den erstellten Netzwerkschnittstellen zugewiesenen IP-Adressen an. Notieren Sie diese.

  • Schließlich wird angezeigt, dass die Firmware läuft. Drücken Sie die EINGABETASTE und warten Sie, bis die Firmware hochgefahren ist. Pingen Sie die im vorherigen Schritt angezeigte IP-Adresse an oder öffnen Sie sie im Browser.

Glückwunsch! Die Firmware wurde erfolgreich emuliert.

Um alle analysierten Firmware-Images zu entfernen, führen Sie aus:

root@kitploit:~
$ ./reset.py

Beispiel 1

root@kitploit:~
$ ./fat.py DIR-601_REVB_FIRMWARE_2.01.BIN 

                               __           _   
                              / _|         | |  
                             | |_    __ _  | |_ 
                             |  _|  / _` | | __|
                             | |   | (_| | | |_ 
                             |_|    \__,_|  \__|                    
                    
                Welcome to the Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme
    
[+] Firmware: DIR-601_REVB_FIRMWARE_2.01.BIN
[+] Extracting the firmware...
[+] Image ID: 1
[+] Identifying architecture...
[+] Architecture: mipseb
[+] Building QEMU disk image...
[+] Setting up the network connection, please standby...
[+] Network interfaces: [('br0', '192.168.0.1')]
[+] All set! Press ENTER to run the firmware...
[+] When running, press Ctrl + A X to terminate qemu

Asciicast

asciicast

Beispiel 2

root@kitploit:~
$ ./fat.py DIR890A1_FW103b07.bin --qemu 2.5.0

                               __           _
                              / _|         | |
                             | |_    __ _  | |_
                             |  _|  / _` | | __|
                             | |   | (_| | | |_
                             |_|    \__,_|  \__|

                Welcome to the Firmware Analysis Toolkit - v0.3
    Offensive IoT Exploitation Training http://bit.do/offensiveiotexploitation
                  By Attify - https://attify.com  | @attifyme

[+] Firmware: DIR890A1_FW103b07.bin
[+] Extracting the firmware...
[+] Image ID: 2
[+] Identifying architecture...
[+] Architecture: armel
[+] Building QEMU disk image...
[+] Setting up the network connection, please standby...
[+] Network interfaces: [('br0', '192.168.0.1'), ('br1', '192.168.7.1')]
[+] Using qemu-system-arm from /home/attify/firmware-analysis-toolkit/qemu-builds/2.5.0
[+] All set! Press ENTER to run the firmware...
[+] When running, press Ctrl + A X to terminate qemu

Zusätzliche Hinweise

  • Derzeit funktioniert der ARM-Firmadyne-Kernel nicht mit der neuesten Version von Qemu (2.11.1), die im offiziellen Ubuntu-18.04-Repository verfügbar ist. Qemu (2.5.0) auf Ubuntu 16.04 funktioniert jedoch. Alternativ können Sie auch das mit Firmadyne gebündelte Qemu (2.5.0) verwenden, wie in Beispiel 2 gezeigt.

  • Falls keine Netzwerkschnittstellen erkannt werden, erhöhen Sie den Timeout-Wert von 60 in scripts/inferNetwork.sh wie unten gezeigt:

    root@kitploit:~
    echo "Running firmware ${IID}: terminating after 60 secs..."
    timeout --preserve-status --signal SIGINT 60 "${SCRIPT_DIR}/run.${ARCH}.sh" "${IID}"
    

Bekannte Probleme

  • FAT funktioniert nicht unter Ubuntu 20.04. Der Hauptgrund dafür ist, dass einige Abhängigkeiten von Firmadyne (insbesondere binwalk) Python 2 benötigen. Solange dies nicht upstream behoben ist, bleiben Sie bei Ubuntu 18.04 oder niedriger. Ubuntu 20.04 wird jetzt unterstützt. Die aktuelle Version von FAT patcht das binwalk-Installationsskript, um das Problem zu umgehen.

Statisches Qemu erstellen

Das Repository enthält bereits statische Builds von Qemu 2.0.0, 2.5.0 und 3.0.0 (in den Releases). Wenn Sie jedoch Ihren eigenen bauen möchten, befolgen Sie die nachstehenden Schritte.

Führen Sie dies in einer sauberen Ubuntu 16.04-VM aus. (Es ist wichtig, 16.04 zu verwenden, da neuere Versionen Probleme mit der statischen Kompilierung haben).

Qemu 2.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.0.0.tar.bz2
tar xf qemu-2.0.0.tar.bz2
mkdir qemu-2.0.0-build
cd qemu-2.0.0
./configure --prefix=$(realpath ../qemu-2.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard-nss --disable-spice --disable-libusb --disable-usb-redir
make
make install

Die kompilierten Binärdateien finden Sie im Verzeichnis qemu-2.0.0-build.

Qemu 2.5.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-2.5.0.tar.bz2
tar xf qemu-2.5.0.tar.bz2
mkdir qemu-2.5.0-build
cd qemu-2.5.0
./configure --prefix=$(realpath ../qemu-2.5.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

Die kompilierten Binärdateien finden Sie im Verzeichnis qemu-2.5.0-build.

Qemu 3.0.0

root@kitploit:~
sudo apt update && sudo apt build-dep qemu -y
wget https://download.qemu.org/qemu-3.0.0.tar.bz2
tar xf qemu-3.0.0.tar.bz2
mkdir qemu-3.0.0-build
cd qemu-3.0.0
./configure --prefix=$(realpath ../qemu-3.0.0-build) --static --target-list=arm-softmmu,mips-softmmu,mipsel-softmmu --disable-smartcard --disable-libusb --disable-usb-redir
make 
make install

Die kompilierten Binärdateien finden Sie im Verzeichnis qemu-3.0.0-build.

Hinweis: Es sollte auch möglich sein, Qemu auf einem Alpine-System statisch zu kompilieren, dies wurde jedoch nicht getestet. Im Allgemeinen wird das Kompilieren unter Alpine gegenüber Ubuntu bevorzugt, da Ersteres mit musl libc ausgeliefert wird, das bei der statischen Verknüpfung besser ist als glibc unter Ubuntu.

Tool herunterladen