Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
firmware-analysis-toolkit — Kit de ferramentas para emular firmware e analisá-lo em busca de vulnerabilidades de segurança. | Kitploit
Ferramentas/GitHubGitHub/attify/firmware-analysis-toolkit
Segurança de Sistemas EmbarcadosSegurança IoTAnálise de VulnerabilidadesEngenharia ReversaAnálise de BináriosAprendizado e EducaçãoAnálise de Firmware
GitHubattify/firmware-analysis-toolkit

firmware-analysis-toolkit

Kit de ferramentas para emular firmware e analisá-lo em busca de vulnerabilidades de segurança.

Ver Repositório
1.6k283há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Firmware Analysis Toolkit

FAT é um kit de ferramentas construído para ajudar pesquisadores de segurança a analisar e identificar vulnerabilidades em firmware de dispositivos IoT e embarcados. Também é usado no treinamento "Offensive IoT Exploitation" conduzido pela Attify.

Nota:

  • Atualmente, é apenas um script para automatizar o Firmadyne, que é uma ferramenta usada para emulação de firmware. Em caso de problemas com a emulação propriamente dita, por favor, poste suas questões no firmadyne issues.  

  • Se estiver enfrentando problemas, você pode tentar o AttifyOS, que possui o Firmware analysis toolkit e outras ferramentas pré-instaladas e prontas para uso.


Firmware Analysis Toolkit (FAT, daqui em diante) é baseado no Firmadyne com algumas alterações. O Firmadyne usa um banco de dados PostgreSQL para armazenar informações sobre as imagens emuladas. No entanto, apenas para a funcionalidade principal, ou seja, emular firmware, o PostgreSQL não é realmente necessário. Portanto, o FAT não o utiliza.

Instruções de configuração

FAT é desenvolvido em Python 3. No entanto, você precisa ter tanto Python 3 quanto Python 2 instalados, pois partes do Firmadyne e suas dependências usam Python 2. É altamente recomendável instalar o FAT dentro de uma Máquina Virtual.

Para instalar, basta clonar o repositório e executar o script ./setup.sh.

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

Após a instalação, edite o arquivo fat.config e forneça a senha do sudo conforme mostrado abaixo. O Firmadyne requer privilégios sudo para algumas de suas operações. A senha do sudo é fornecida para automatizar o processo.

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

Executando o FAT

root@kitploit:~
$ ./fat.py <firmware file>
  • Forneça o nome do arquivo de firmware como argumento para o script.

  • O script exibirá os endereços IP atribuídos às interfaces de rede criadas. Anote-os.

  • Finalmente, ele dirá que está executando o firmware. Pressione ENTER e aguarde até que o firmware inicialize. Pingue o IP que foi mostrado no passo anterior, ou abra no navegador.

Parabéns! O firmware foi finalmente emulado.

Para remover todas as imagens de firmware analisadas, execute

root@kitploit:~
$ ./reset.py

Exemplo 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

Exemplo 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

Notas Adicionais

  • Atualmente, o kernel ARM do firmadyne não funciona com a versão mais recente do Qemu (2.11.1) disponível no repositório oficial do Ubuntu 18.04. No entanto, o Qemu (2.5.0) no Ubuntu 16.04 funciona. Alternativamente, você também pode usar o Qemu (2.5.0) empacotado fornecido com o firmadyne, conforme mostrado no exemplo 2.

  • Se nenhuma interface de rede for detectada, tente aumentar o valor do timeout de 60 em scripts/inferNetwork.sh conforme mostrado abaixo

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

Problemas Conhecidos

  • O FAT não funciona no Ubuntu 20.04. A principal razão para isso é que algumas dependências do Firmadyne (especialmente o binwalk) requerem Python 2. A menos que isso seja corrigido upstream, fique no Ubuntu 18.04 ou inferior. Ubuntu 20.04 agora é suportado. A versão atual do FAT corrige o script de instalação do binwalk para contornar o problema.

Compilando Qemu estático

O repositório já inclui compilações estáticas do qemu 2.0.0, 2.5.0 e 3.0.0 (nos releases), mas se você quiser compilar a sua própria, siga os passos abaixo.

Em uma VM limpa do Ubuntu 16.04 execute. (É importante usar o 16.04, versões posteriores têm problemas com compilação 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

Os binários compilados podem ser encontrados no diretório 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

Os binários compilados podem ser encontrados no diretório 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

Os binários compilados podem ser encontrados no diretório qemu-3.0.0-build.

Nota: Também deve ser possível compilar o qemu estaticamente em um sistema alpine, mas isso não foi testado. Em geral, compilar no alpine é preferível ao Ubuntu, pois o primeiro vem com musl libc, que é melhor para ligação estática do que o glibc no Ubuntu.

Baixar ferramenta