performing-firmware-extraction-with-binwalk
Ajuda seu agente a extrair e analisar o conteúdo de firmwares. Ele encontra arquivos, sistemas de arquivos e informações importantes dentro deles. É útil para entender o que está em dispositivos como roteadores ou sistemas embarcados.
O que ela faz
Esta ferramenta analisa o software interno (firmware) de dispositivos eletrônicos. Ela extrai e examina os arquivos escondidos dentro desse software para encontrar informações importantes, como senhas, configurações ou partes do sistema.
Quando usar
- ✓Ao investigar o firmware de um roteador ou câmera baixado da internet.
- ✓Para procurar por senhas ou chaves de segurança escondidas no software de um aparelho.
- ✓Ao analisar o software de um dispositivo para entender como ele funciona ou encontrar falhas.
Exemplo do que pedir para a IA
“Analise o firmware deste dispositivo e procure por senhas ou chaves de acesso.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta usa um programa chamado 'binwalk' para escanear o firmware. Ele identifica e extrai diferentes tipos de arquivos que estão dentro dele, como sistemas de arquivos e dados comprimidos, para que você possa examiná-los.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-firmware-extraction-with-binwalkOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-firmware-extraction-with-binwalk/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Realizando Extração de Firmware com Binwalk
Quando Usar
- Analisando firmware de dispositivos IoT baixado de sites de fornecedores ou extraído de chips de memória flash
- Engenharia reversa de firmware de roteadores, câmeras ou dispositivos embarcados para pesquisa de vulnerabilidades
- Identificando sistemas de arquivos embarcados (SquashFS, CramFS, JFFS2, UBIFS) dentro de "blobs" de firmware
- Detectando regiões criptografadas ou comprimidas usando análise de entropia
- Extraindo credenciais codificadas, chaves de API, certificados ou arquivos de configuração de firmware
- Realizando avaliações de segurança de dispositivos embarcados em testes de penetração autorizados
Não use para analisar binários de aplicativos de desktop padrão ou amostras de malware que não sejam imagens de firmware; use ferramentas dedicadas de análise de malware em vez disso.
Pré-requisitos
- binwalk v3.x instalado (
pip install binwalk3ou do gerenciador de pacotes do sistema) - Python 3.8+ com bibliotecas padrão (struct, math, hashlib, subprocess)
- Ferramentas SquashFS (
unsquashfs) para montar sistemas de arquivos SquashFS extraídos - Jefferson para extração de sistemas de arquivos JFFS2 (
pip install jefferson) - Sasquatch para variantes não padrão de SquashFS usadas por fornecedores como TP-Link e D-Link
- Utilitário
strings(GNU binutils) para extração de strings - Opcional: firmware-mod-kit para empacotar novamente imagens de firmware modificadas
Fluxo de Trabalho
Etapa 1: Reconhecimento Inicial do Firmware
Execute uma varredura de assinatura para identificar tipos de arquivos embarcados e seus deslocamentos:
# Basic signature scan - identify all recognized file types
binwalk firmware.bin
# Scan with verbose output showing confidence levels
binwalk -v firmware.bin
# Scan for specific file types only
binwalk -y "squashfs" firmware.bin
binwalk -y "gzip\|lzma\|xz" firmware.bin
# Opcode scan to identify CPU architecture
binwalk -A firmware.bin
# Scan for raw strings to find version info, URLs, credentials
binwalk -R "password" firmware.bin
binwalk -R "http://" firmware.bin
Etapa 2: Análise de Entropia
Analise a entropia para identificar regiões criptografadas, comprimidas e em texto puro:
# Generate entropy plot
binwalk -E firmware.bin
# Entropy with specific block size for higher resolution
binwalk -E -K 256 firmware.bin
# Combined entropy and signature scan
binwalk -BE firmware.bin
Interpretando valores de entropia:
- 0.0 - 1.0: Regiões vazias ou de preenchimento (bytes nulos, preenchimento com 0xFF)
- 1.0 - 5.0: Dados em texto puro, código, strings ASCII, configuração
- 5.0 - 7.0: Dados comprimidos (gzip, LZMA, zlib)
- 7.0 - 7.99: Dados fortemente comprimidos ou criptografados
- ~8.0: Entropia máxima, provavelmente dados criptografados ou aleatórios
Etapa 3: Extrair Arquivos Embarcados
Extraia todos os componentes identificados da imagem de firmware:
# Automatic extraction of known file types
binwalk -e firmware.bin
# Recursive extraction (matryoshka mode) for nested archives
binwalk -Me firmware.bin
# Recursive extraction with depth limit
binwalk -Me -d 5 firmware.bin
# Extract specific file type with custom handler
binwalk -D "squashfs filesystem:squashfs:unsquashfs %e" firmware.bin
# Manual extraction of data at a known offset
dd if=firmware.bin of=extracted.squashfs bs=1 skip=327680 count=4194304
Etapa 4: Montar e Inspecionar Sistemas de Arquivos Extraídos
Monte os sistemas de arquivos extraídos para inspeção detalhada:
# Mount SquashFS filesystem
mkdir /tmp/squashfs_root
unsquashfs -d /tmp/squashfs_root extracted.squashfs
# Mount CramFS filesystem
mkdir /tmp/cramfs_root
mount -t cramfs -o loop extracted.cramfs /tmp/cramfs_root
# Extract JFFS2 filesystem
jefferson extracted.jffs2 -d /tmp/jffs2_root
# Inspect the extracted filesystem
ls -la /tmp/squashfs_root/
find /tmp/squashfs_root -name "*.conf" -o -name "*.cfg" -o -name "*.key"
find /tmp/squashfs_root -name "passwd" -o -name "shadow"
Etapa 5: Análise de Strings e Descoberta de Credenciais
Procure por dados sensíveis no sistema de arquivos extraído e no firmware bruto:
# Extrair todas as strings imprimíveis
strings -a firmware.bin > all_strings.txt
strings -n 12 firmware.bin | sort -u > long_strings.txt
# Procurar por credenciais e segredos
grep -rni "password\|passwd\|secret\|api_key\|token" /tmp/squashfs_root/etc/
grep -rni "BEGIN.*PRIVATE KEY" /tmp/squashfs_root/
# Encontrar URLs e endpoints codificados
grep -rnoE "https?://[a-zA-Z0-9./?=_-]+" /tmp/squashfs_root/
# Procurar por arquivos de certificado
find /tmp/squashfs_root -name "*.pem" -o -name "*.crt" -o -name "*.key" -o -name "*.p12"
# Identificar versões do busybox e de serviços
strings /tmp/squashfs_root/bin/busybox | grep "BusyBox v"
…
Perguntas frequentes
O que é firmware?
Firmware é o software que vem de fábrica em dispositivos eletrônicos, como roteadores, TVs ou câmeras. Ele controla as funções básicas do aparelho.
O que é análise de entropia?
É uma forma de medir o quão 'aleatórios' ou 'aleatórios' os dados dentro do firmware parecem. Dados muito aleatórios geralmente significam que estão criptografados ou comprimidos.
O que são sistemas de arquivos como SquashFS?
São formas de organizar e comprimir arquivos dentro do firmware, comuns em dispositivos menores. Essa ferramenta sabe como abrir e extrair o conteúdo deles.
Detalhes
Descrição original do autor
Performs firmware image extraction and analysis using binwalk to identify embedded filesystems, compressed archives, bootloaders, kernel images, and cryptographic material. Covers entropy analysis for detecting encrypted or compressed regions, recursive extraction of nested archives, SquashFS/CramFS/JFFS2 filesystem mounting, and string analysis for credential and configuration discovery. Activate
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6068
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC