root808.
intermediárioofensivo

IoT Nível 2: análise de firmware e emulação

Com o firmware em mãos, a caça começa: mapear o filesystem, achar segredos, ler os binários no Ghidra e rodar o aparelho dentro do seu PC com emulação.

r

root808

09 de out. de 2026 · 14 min de leitura

Extraído o firmware, você tem o aparelho inteiro em arquivos. O objetivo agora é entender como ele funciona por dentro — sem precisar do hardware ligado o tempo todo e sem risco de brickar nada.

Mapear o filesystem

Um firmware Linux típico traz um SquashFS com a estrutura de sempre: /etc com os scripts de init e configs, /www ou /web com a interface, /bin e /sbin com os binários (quase sempre um BusyBox) e daemons próprios do fabricante. Comece lendo os scripts de boot: eles revelam o que roda, com que privilégio e escutando onde.

Caçar segredos (análise estática)

Antes de qualquer engenharia reversa pesada, o barato já entrega muito: strings, grep e ferramentas como firmwalker varrem o filesystem atrás de senhas, chaves privadas, tokens de API e certificados embutidos. Credencial hardcoded é a vulnerabilidade mais comum de IoT justamente porque é a mais fácil de deixar pra trás.

# varredura rápida por segredos no filesystem extraído
./firmwalker.sh squashfs-root
grep -rniE 'BEGIN (RSA|EC) PRIVATE KEY' squashfs-root
grep -rniE 'api[_-]?key|secret|passwd' squashfs-root/etc

Ghidra: ler os binários

O daemon que trata a rede é onde mora o interesse. No Ghidra você descompila esse binário e procura o fluxo: de onde vem a entrada do usuário e para onde ela vai. Chamadas a system()/popen() perto de dados controláveis, parsers frágeis, comparações de senha ingênuas. Aqui o objetivo é compreender a lógica — e, se for seu device, confirmar se um caminho é explorável.

Emular pra testar sem o hardware

Rodar o firmware no seu PC acelera tudo. Projetos como FirmAE/FirmAE e o Firmware Analysis Toolkit usam QEMU para subir o servidor web do aparelho na sua máquina — você testa a interface no navegador, com debugger acoplado, sem depender do device físico.

# subir o firmware emulado (Firmware Analysis Toolkit / FirmAE)
./run.sh -r nome-do-firmware firmware.bin
# a interface do device sobe num IP local pra você analisar
Emulação transforma 'eu preciso do aparelho na bancada' em 'eu tenho mil aparelhos numa aba do navegador'.

No próximo nível: sair do firmware e escutar o device falando — IP, BLE, Zigbee e o app de celular que o controla.

r

root808

Pesquisa de segurança, do hardware à órbita — sempre dentro do escopo.