Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
firmware-analysis-toolkit — Kit de herramientas para emular firmware y analizarlo en busca de vulnerabilidades de seguridad. | Kitploit
Herramientas/GitHubGitHub/attify/firmware-analysis-toolkit
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesIngeniería InversaAnálisis de BinariosAprendizaje y EducaciónAnálisis de Firmware
GitHubattify/firmware-analysis-toolkit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

firmware-analysis-toolkit

Kit de herramientas para emular firmware y analizarlo en busca de vulnerabilidades de seguridad.

Ver Repositorio
1.6k283hace 1 añoRevisado por Kitploit

Kit de Análisis de Firmware

FAT es un conjunto de herramientas diseñado para ayudar a los investigadores de seguridad a analizar e identificar vulnerabilidades en firmware de IoT y dispositivos embebidos. También se utiliza en el entrenamiento "Explotación Ofensiva de IoT" impartido por Attify.

Nota:

  • Por ahora, es simplemente un script para automatizar Firmadyne, una herramienta utilizada para la emulación de firmware. En caso de cualquier problema con la emulación real, por favor publica tus problemas en los issues de firmadyne.  

  • En caso de tener problemas, puedes probar AttifyOS que tiene el Firmware analysis toolkit y otras herramientas preinstaladas y listas para usar.


Firmware Analysis Toolkit (FAT en adelante) está basado en Firmadyne con algunos cambios. Firmadyne usa una base de datos PostgreSQL para almacenar información sobre las imágenes emuladas. Sin embargo, solo para la funcionalidad principal, es decir, emular firmware, PostgreSQL no es realmente necesario. Por lo tanto, FAT no lo usa.

Instrucciones de configuración

FAT está desarrollado en Python 3. Sin embargo, necesitas tener tanto Python 3 como Python 2 instalados, ya que partes de Firmadyne y sus dependencias usan Python 2. Se recomienda encarecidamente instalar FAT dentro de una Máquina Virtual.

Para instalar, simplemente clona el repositorio y ejecuta el script ./setup.sh.

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

Una vez completada la instalación, edita el archivo fat.config y proporciona la contraseña de sudo como se muestra a continuación. Firmadyne requiere privilegios de sudo para algunas de sus operaciones. La contraseña de sudo se proporciona para automatizar el proceso.

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

Ejecutando FAT

root@kitploit:~
$ ./fat.py <archivo de firmware>
  • Proporciona el nombre del archivo de firmware como argumento al script.

  • El script mostrará las direcciones IP asignadas a las interfaces de red creadas. Anótalas.

  • Finalmente, dirá que está ejecutando el firmware. Presiona ENTER y espera hasta que el firmware arranque. Haz ping a la IP que se mostró en el paso anterior, o ábrela en el navegador.

¡Felicidades! El firmware finalmente se ha emulado.

Para eliminar todas las imágenes de firmware analizadas, ejecuta

root@kitploit:~
$ ./reset.py

Ejemplo 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
[+] Extrayendo el firmware...
[+] Image ID: 1
[+] Identificando la arquitectura...
[+] Architecture: mipseb
[+] Construyendo imagen de disco QEMU...
[+] Configurando la conexión de red, por favor espera...
[+] Network interfaces: [('br0', '192.168.0.1')]
[+] ¡Todo listo! Presiona ENTER para ejecutar el firmware...
[+] Cuando se esté ejecutando, presiona Ctrl + A X para terminar qemu

Asciicast

asciicast

Ejemplo 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
[+] Extrayendo el firmware...
[+] Image ID: 2
[+] Identificando la arquitectura...
[+] Architecture: armel
[+] Construyendo imagen de disco QEMU...
[+] Configurando la conexión de red, por favor espera...
[+] Network interfaces: [('br0', '192.168.0.1'), ('br1', '192.168.7.1')]
[+] Usando qemu-system-arm desde /home/attify/firmware-analysis-toolkit/qemu-builds/2.5.0
[+] ¡Todo listo! Presiona ENTER para ejecutar el firmware...
[+] Cuando se esté ejecutando, presiona Ctrl + A X para terminar qemu

Notas Adicionales

  • Por ahora, el kernel ARM de firmadyne no funciona con la última versión de Qemu (2.11.1) disponible en el repositorio oficial de Ubuntu 18.04. Sin embargo, Qemu (2.5.0) en Ubuntu 16.04 sí funciona. Alternativamente, también puedes usar el Qemu (2.5.0) incluido con firmadyne como se muestra en el ejemplo 2.

  • Si no se detectan interfaces de red, intenta aumentar el valor de timeout de 60 en scripts/inferNetwork.sh como se muestra a continuación

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

Problemas Conocidos

  • FAT no funciona en Ubuntu 20.04. La razón principal de esto es que algunas dependencias de Firmadyne (especialmente binwalk) requieren Python 2. A menos que esto se solucione upstream, quédate con Ubuntu 18.04 o inferior. Ubuntu 20.04 ahora es compatible. La versión actual de FAT parchea el script de instalación de binwalk para solucionar el problema.

Construyendo Qemu estático

El repositorio ya incluye compilaciones estáticas de qemu 2.0.0, 2.5.0 y 3.0.0 (en las versiones) pero si quieres construir las tuyas propias, sigue los pasos a continuación.

En una VM Ubuntu 16.04 limpia ejecuta. (Es importante usar 16.04, las versiones posteriores tienen problemas con la compilación estática).

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

Los binarios compilados se pueden encontrar en el directorio 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

Los binarios compilados se pueden encontrar en el directorio 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

Los binarios compilados se pueden encontrar en el directorio qemu-3.0.0-build.

Nota: También debería ser posible compilar qemu estáticamente en un sistema alpine, pero esto no ha sido probado. En general, compilar en alpine es preferible a Ubuntu, ya que el primero viene con musl libc que es mejor para el enlace estático que glibc en Ubuntu.

Descargar herramienta