Reversing & Hardware/IoT — por onde começar
Engenharia reversa de software (binários, malware, crackmes) e de hardware (firmware, UART, JTAG, SPI). Trilha técnica densa, mas alta demanda em malware analysis e IoT pentest.
pré-requisitos
- ▸C básico (lê código, entende ponteiros)
- ▸Assembly x86/x64 e ARM (leitura, não escrita)
- ▸Linux + GDB básico
labs para praticar
- GoatX Academy — Reversing & IoT CTF
7 desafios: strings, JS crackme, QEMU, UART, hashcat, JTAGulator.
- crackmes.one
Banco com milhares de crackmes por dificuldade.
- Microcorruption
Embedded reversing em MSP430. Game-like, viciante.
- MalwareBazaar
Samples reais de malware (use VM isolada!).
- OpenSecurityTraining2
Cursos gratuitos de reversing/x86/ARM em vídeo.
trilha passo a passo
- 1
1. Triagem rápida de binário
Reflexo: file → strings -n 8 → ldd → checksec. Vê arquitetura, dependências, mitigações (NX, PIE, canary, RELRO). 30% dos crackmes morre só nessa sequência.
- 3
3. Debugging dinâmico
GDB + plugins (gef, pwndbg, peda) pra binários Linux. x64dbg pra Windows. Frida pra hooking em runtime (cross-platform). Aprende a colocar breakpoint, ler registradores e modificar memória.
- 4
4. Crackmes e CTF reversing
Comece em crackmes.one por dificuldade 1 e suba. Padrões clássicos: strcmp óbvio, XOR de chave fixa, anti-debug (ptrace, IsDebuggerPresent), VM custom (AGES — 'aprendizado garantido em sofrimento').
- 6
6. Cross-architecture (ARM, MIPS)
Firmware de roteador é MIPS ou ARM. Rode em x86 com qemu-user-static + chroot no rootfs. Indispensável pra debugar binário sem placa física.
- 7
7. Firmware extraction
binwalk -Me firmware.bin. Procure squashfs-root/, etc/passwd, etc/shadow, /www. 90% dos roteadores comerciais tem credencial hardcoded. hashcat -m 500 (MD5 crypt) quebra rápido.
- 8
8. Hardware: UART, JTAG, SPI flash
UART (4 pinos, baud 115200 comum) dá shell direto em muito IoT. JTAG dá controle total da CPU — JTAGulator descobre pinout. SPI flash chip pode ser dumpado com CH341A (R$ 50). Sempre comece pelo mais barato (UART).
dicas de quem já passou pela trilha
- ★strings -n 8 ANTES de qualquer Ghidra. Resolve 30% dos crackmes simples sem disassembly.
- ★Aprenda UM disassembler bem (Ghidra é a melhor escolha grátis hoje) antes de testar todos.
- ★Em malware, snapshot da VM antes de cada execução. Restaurar leva 5s; reinstalar leva 1h.
- ★Anti-debug clássico: ptrace(PTRACE_TRACEME) no Linux, IsDebuggerPresent no Windows. Patch um NOP e segue.
- ★Em hardware: comece sempre por UART. 4 pinos, R$ 50 de adaptador, dá shell em ~70% dos dispositivos baratos.
- ★Firmware comercial quase sempre tem hash hardcoded em /etc/passwd. hashcat -m 500 + rockyou quebra rápido.
ferramentas essenciais
Decompilador da NSA, gratuito, multi-arquitetura
Reverser open-source com GUI moderna (Cutter)
Debugger Linux com plugins essenciais
Hooking dinâmico cross-platform (Android, iOS, Windows, Linux)
Extrai firmware embarcado
Roda binários ARM/MIPS/RISC-V no x86
Descobre pinout JTAG/UART por brute force
Hardware ~R$ 50 pra dump/flash de SPI
livros recomendados
- ▸ Practical Malware Analysis (Sikorski, Honig) — referência absoluta
- ▸ The IDA Pro Book (Eagle)
- ▸ Reversing: Secrets of Reverse Engineering (Eilam)
- ▸ The Hardware Hacker (Bunnie Huang)
- ▸ Practical IoT Hacking (Chantzis et al, NoStarch)