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-mod-kit — Exportado automaticamente de code.google.com/p/firmware-mod-kit | Kitploit
Ferramentas/GitHubGitHub/rampagex/firmware-mod-kit
Segurança de Sistemas EmbarcadosEngenharia ReversaSegurança de HardwareAnálise de Firmware
GitHubrampagex/firmware-mod-kit

firmware-mod-kit

Exportado automaticamente de code.google.com/p/firmware-mod-kit

Ver Repositório
996207há 6 mesesRevisado 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

Aviso

Exportado automaticamente de code.google.com/p/firmware-mod-kit

Kit de Modificação de Firmware

Este kit é uma coleção de scripts e utilitários para extrair e reconstruir imagens de firmware baseadas em Linux.

root@kitploit:~
Extrair uma imagem de firmware em suas partes componentes
O usuário faz a modificação desejada no sistema de arquivos do firmware ou na interface web (webif)
Reconstruir o firmware
Gravar o firmware modificado no dispositivo e brická-lo (haha) 

AVISO: Você vai brickar seu dispositivo ao usar este kit (talvez não, mas é melhor dizer que sim). Brick significa transformá-lo efetivamente num 'tijolo' não funcional. A recuperação às vezes é possível sem modificações de hardware. Às vezes requer modificações de hardware (por exemplo, cabeçalhos seriais ou JTAG soldados na PCB). Às vezes simplesmente não é viável, ou custaria mais para recuperar do que o valor da unidade.

NÃO use este kit se você não estiver preparado para ter seu roteador brickado!

EULA: Ao baixar ou usar este kit, você concorda em aceitar a responsabilidade pelas consequências do uso ou uso indevido do Kit de Modificação de Firmware. Estas incluem o brick do seu dispositivo. Os autores deste kit o avisaram devidamente. Este kit é apenas para engenheiros de software de sistemas embarcados.

Kit de Modificação de Firmware

  • Introdução
  • Pré-requisitos
  • Usando o Kit
    • Executáveis do Kit
    • Diretório de Trabalho do Firmware
    • Extraindo Firmware
    • Reconstruindo Firmware
    • Modificando Páginas Web do DD-WRT
    • Revertendo para um firmware de fábrica
    • Exemplos
    • Firmware Linksys
    • Ferramentas / Utilitários
  • Links

Introdução

O Kit de Modificação de Firmware permite fácil desconstrução e reconstrução de imagens de firmware para vários dispositivos embarcados. Embora tenha como alvo principal roteadores baseados em Linux, ele deve ser compatível com a maioria dos firmwares que usam formatos e sistemas de arquivos comuns, como TRX/uImage e SquashFS/CramFS.

Pré-requisitos

Para usar o Kit de Modificação de Firmware, você deve ter um cliente subversion, ferramentas de desenvolvimento Linux padrão (gcc, make, etc.), o módulo python-magic e os pacotes de desenvolvimento zlib e lzma. Se você estiver usando uma distribuição Linux que use apt-get, por exemplo, Ubuntu ou Debian, use:

Para Ubuntu 18.04 e versões anteriores:

root@kitploit:~
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic autoconf

Para Ubuntu 20.04 e versões posteriores:

root@kitploit:~
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python3-magic autoconf python-is-python3

Para RedHat:

root@kitploit:~
yum groupinstall "Development Tools"
yum install git zlib1g-dev xz-devel python-magic zlib-devel util-linux

Para Arch Linux:

Há um pacote AUR para https://aur.archlinux.org/packages/firmware-mod-kit/

Para outras distribuições, você deve instalar os pacotes equivalentes usando o gerenciador de pacotes da sua distribuição.

root@kitploit:~
git clone https://github.com/rampageX/firmware-mod-kit.git
cd firmware-mod-kit/src
make

Binwalk 2.1.1

root@kitploit:~
[De volta ao diretório firmware-mod-kit]
cd src/binwalk-2.1.1
sudo python2 setup.py install

O Kit de Modificação de Firmware é suportado apenas na plataforma Linux. Com algumas pequenas modificações, deve funcionar em outras plataformas POSIX.

Usando o Kit

Faça um clone Git do repositório do Kit de Modificação de Firmware.

Executáveis do Kit

O Kit de Modificação de Firmware é uma coleção de utilitários e scripts de shell. Os utilitários podem ser usados diretamente, ou os scripts de shell podem ser usados para automatizar e combinar operações comuns de firmware (por exemplo, extrair e reconstruir). Os scripts principais para facilitar as operações de firmware estão listados abaixo.

Scripts primários:

ScriptDescrição
extract-firmware.shScript de extração de firmware
build-firmware.shScript de reconstrução de firmware

Scripts secundários:

ddwrt-gui-extract.shExtrai arquivos da GUI Web do firmware DD-WRT extraído.
ddwrt-gui-rebuild.shRestaura arquivos modificados da GUI Web para o firmware DD-WRT extraído.

Diretório de Trabalho do Firmware

O Kit de Modificação de Firmware usa um diretório de trabalho 'hard coded' chamado 'fmk'. O script de extração extrai para esta pasta, e o script de reconstrução reconstrói a partir desta pasta. A permissão de diretórios de trabalho alternativos é suportada para algumas operações, mas não todas. Expandiremos isso no futuro. Por enquanto, se você tiver vários diretórios de trabalho, sugerimos renomear aqueles nos quais você não está operando atualmente.

Extraindo Firmware

A extração automatizada de firmware normalmente funciona com a maioria das imagens de firmware que usam cabeçalhos uImage/TRX e sistemas de arquivos SquashFS ou CramFS. Atualmente, extract-firmware.sh é o método preferido de extração, pois suporta mais tipos de firmware do que o script antigo old-extract.sh. No entanto, old-extract.sh ainda está incluído e funciona com muitos formatos de firmware.

O uso tanto de extract-firmware.sh quanto de build-firmware.sh é direto:

root@kitploit:~
./extract-firmware.sh firmware.bin

Por padrão, a saída de extract-firmware.sh estará localizada no diretório 'fmk', enquanto old-extract.sh colocará os dados extraídos no diretório de trabalho especificado.

Reconstruindo Firmware

Qual script de construção usar depende de qual script de extração foi usado. Se você extraiu uma imagem de firmware com extract-firmware.sh, então você deve usar build-firmware.sh para reconstruí-la. Da mesma forma, se old-extract.sh foi usado, então old-build.sh deve ser invocado ao reconstruir uma imagem:

root@kitploit:~
./build-firmware.sh [-nopad] [-min]

O novo firmware gerado por build-firmware.sh estará localizado em 'fmk/new-firmware.bin', enquanto old-build.sh gerará imagens de firmware em vários formatos diferentes e as salvará no diretório de saída especificado.

O parâmetro opcional -nopad instruirá build-firmware.sh a NÃO preencher o firmware até seu tamanho original.

O parâmetro opcional -min usará o tamanho máximo de bloco squashfs de 1 MB. Isso diminuirá o tamanho da imagem do firmware ao custo de recursos adicionais de CPU e RAM utilizados no dispositivo alvo. Não use este parâmetro a menos que seja necessário. Este é um tamanho de bloco muito grande para sistemas embarcados. O tamanho de bloco squashfs original do firmware é preservado na reconstrução, e o tamanho de bloco original deve ser o usado, a menos que você tenha certeza do que está fazendo. Um tamanho de bloco muito grande pode parecer funcionar bem, mas o desempenho em tempo de execução do firmware pode sofrer em todas ou algumas cargas.

Modificando Páginas Web do DD-WRT

Uma característica muito única do Kit de Modificação de Firmware é sua capacidade de extrair e reconstruir arquivos da GUI Web do DD-WRT. Isso é automatizado pelos scripts ddwrt-gui-extract.sh e ddwrt-gui-restore.sh.

Depois de extrair uma imagem de firmware DD-WRT usando extract-firmware.sh, você pode extrair os arquivos Web executando:

root@kitploit:~
./ddwrt-gui-extract.sh

Isso criará um diretório chamado 'www' e extrairá os arquivos Web lá. Você pode modificar os arquivos como quiser, mas não pode adicionar ou excluir arquivos.

Quando terminar a edição, você pode reconstruir os arquivos Web executando:

root@kitploit:~
./ddwrt-gui-rebuild.sh

Revertendo para um firmware de fábrica

Às vezes você atualiza com entusiasmo um firmware de terceiros como Gargoyle ou DD-WRT apenas para descobrir que ele não tem os recursos que você precisa, não tem um desempenho tão bom quanto o firmware de fábrica, ou tem problemas funcionais. Nessa situação, você pode querer voltar ao firmware de fábrica, mas não ter meios para fazê-lo!

Aqui está como o Kit de Modificação de Firmware pode ajudá-lo a reverter para um firmware de fábrica. O processo é o seguinte:

  1. Extraia o firmware de fábrica. Em seguida, renomeie o diretório 'fmk'.
  2. Extraia o firmware de 'upgrade' de terceiros (por exemplo, Gargoyle-sysupgrade)
  3. Substitua o rootfs e image_parts do firmware de terceiros extraído pelos do firmware de fábrica.
  4. Reconstrua a imagem do firmware
  5. Grave a imagem do firmware de fábrica (agora empacotada como seu firmware de terceiros espera).
  6. Se tudo deu certo, você está usando o firmware de fábrica novamente.

Uma vez que você voltou ao firmware de fábrica, ele aceita novamente imagens de firmware de fábrica.

Exemplos

Este exemplo demonstra como extrair uma imagem de firmware, substituir seu daemon telnet existente por um personalizado e, em seguida, construir uma nova imagem de firmware:

root@kitploit:~
./extract-firmware.sh firmware.bin
cp new-telnetd fmk/rootfs/usr/sbin/telnetd
./build-firmware.sh

Abaixo está um exemplo dos comandos a serem executados para extrair uma imagem de firmware DD-WRT, modificar a página inicial Web e construir uma nova imagem de firmware:

root@kitploit:~
./extract-firmware.sh firmware.bin
./ddwrt-gui-extract.sh
echo "HELLO WORLD" > www/index.asp
./ddwrt-gui-rebuild.sh
./build-firmware.sh

Firmware Linksys

A Linksys tem rodapés personalizados com verificações de Checksum, portanto, este script foi escrito para tentar automatizar o processo de cálculo do checksum da imagem e alterar o rodapé de acordo. A nova imagem será gravada em modified_checksum.img. Execute isso após modificar e executar build-firmware.sh.

root@kitploit:~
./linksys_footer.sh modified_firmware.img

Ferramentas / Utilitários

O Kit de Modificação de Firmware consiste em uma coleção de ferramentas úteis ao trabalhar com imagens de firmware embarcadas. Estas incluem as listadas abaixo, embora haja MUITAS MAIS que não estão listadas aqui.

Outros Links

Fórum

Baixar ferramenta
FerramentaDescrição
AsusTRXUma versão estendida do ASUSTRX que pode construir arquivos TRX 'normais' e, opcionalmente, aqueles com um cabeçalho estilo ASUS addver anexado. Também pode, de forma única, forçar deslocamentos de segmento no TRX (com a opção -b) para compatibilidade com dispositivos Marvell ASUS como o WL-530g. Esta ferramenta substitui tanto a ferramenta trx 'normal' quanto o addver. Versões atuais incluídas: 0.90 beta.
AddPatternUtilitário para prefixar um cabeçalho estilo Linksys HDR0 a um TRX.
AddVerUtilitário ASUS para anexar um cabeçalho a uma imagem TRX contendo informações de versão. O ASUSTRX inclui essa capacidade. Versão atual: sem versão.
BinwalkEscaneia imagens de firmware em busca de tipos de arquivo conhecidos (cabeçalhos de firmware, kernels compactados, sistemas de arquivos, etc.)
CramFSCKVerificador e extrator de imagens de sistemas de arquivos CRAMFS. Versões atuais incluídas: 2.4x.
CramFSSwapUtilitário para trocar a endianness de uma imagem CramFS
CRCalcUtilitário para corrigir todos os cabeçalhos uImage e TRX dentro de uma determinada imagem de firmware.
MkSquashFSConstrói uma imagem de sistema de arquivos squashfs. Versões atuais incluídas: 2.1-r2, 3.0.
MkCramFSConstrói uma imagem de sistema de arquivos cramfs. A ser lançado na próxima versão. Versões atuais incluídas: 2.4x.
MotorolaBinUtilitário que prefixa cabeçalhos de 8 bytes a imagens TRX para dispositivos Motorola WR850G, WA840G, WE800G. Versão atual: sem versão.
Splitter3Utilitário para escanear e extrair as partes componentes de uma imagem de firmware.
Tpl-toolUtilitário para manipular imagens de formato de fornecedor TP-Link.
UnCramFSFerramenta alternativa para extrair uma imagem de sistema de arquivos cramfs. Use cramfsck sempre que possível, pois parece ser mais confiável. Versões atuais incluídas: 0.7 (para cramfs v2.x).
UnCramFS-LZMAFerramenta alternativa para extrair imagens de sistema de arquivos cramfs compactadas com LZMA, como as usadas pelo OpenRG.
UnSquashFSExtrai uma imagem de sistema de arquivos squashfs zlib. Versões atuais incluídas: 1.0 para imagens 3.0 e 1.0 para imagens 2.x (minha própria combinação).
UnSquashFS-LZMAExtrai uma imagem de sistema de arquivos squashfs lzma. Versões atuais incluídas: 1.0 para imagens 3.0 e 1.0 para imagens 2.x (minha própria combinação). Nota: Nem todos os patches squashfs-lzma são compatíveis entre si. Estou trabalhando para adicionar suporte para todas as variações comuns de squashfs-lzma.
UnTRXDivide firmwares estilo TRX em suas partes componentes. Também suporta cabeçalhos estilo addpattern HDR0 prefixados. Isso foi desenvolvido exclusivamente para este kit. Versões atuais incluídas: 0.45.
WebDecompExtrai e restaura arquivos da GUI Web de imagens de firmware DD-WRT, permitindo modificações nas páginas Web.
WRTVxImgToolUtilitário para gerar imagens de firmware compatíveis com VxWorks para a série WRT54G(S) v5.