Análisis de firmware
El firmware es el software que hace funcionar un dispositivo embebido. Analizarlo revela credenciales embebidas, claves criptográficas, servicios ocultos, vulnerabilidades y la lógica del dispositivo. Es una pieza central del pentest de IoT (Pentest de IoT).
Obtener el firmware
Sección titulada «Obtener el firmware»- descarga del sitio del fabricante / portal de actualizaciones- captura de la actualización OTA (interceptar el tráfico, ver web-api)- volcado directo del chip de memoria (SPI flash) por hardware (ver ot-hardware)- extracción desde la propia app o del sistema de ficheros del dispositivoAnálisis estático del binario de firmware
Sección titulada «Análisis estático del binario de firmware»binwalk firmware.bin # identificar y extraer sistemas de ficheros y componentesbinwalk -e firmware.bin # extraer (squashfs, jffs2, cpio, kernel...)# tras extraer el rootfs:- buscar credenciales: grep de passwords, /etc/shadow, claves en /etc, certificados- claves privadas, tokens de API, URLs de backend (hardcoded)- binarios con vulns conocidas (versiones de busybox, dropbear, openssl...)- scripts de arranque, servicios, cuentas por defectoHerramientas
Sección titulada «Herramientas»Extracción binwalk, firmware-mod-kit, unblob, sasquatch (squashfs)Automatizado EMBA (análisis completo de firmware Linux), FACTAnálisis strings, grep, Ghidra (binarios ARM/MIPS, ver pwn-reversing)Emulación QEMU + firmadyne/FirmAE para ejecutar el firmware y atacar su web/serviciosEmulación (ejecutar sin el hardware)
Sección titulada «Emulación (ejecutar sin el hardware)»- emular el firmware (QEMU + FirmAE/firmadyne) -> levantar su interfaz web/servicios- atacar la web/API emulada como una app normal (ver web-*) sin arriesgar el dispositivo- útil para fuzzing y análisis dinámico sin depender del hardware físicoQué buscar (hallazgos de alto valor)
Sección titulada «Qué buscar (hallazgos de alto valor)»- credenciales/claves HARDCODED (acceso a todos los dispositivos del modelo)- claves privadas de firma -> permiten firmar firmware malicioso si se reutilizan- backdoors/cuentas ocultas, servicios de depuración activos- cripto débil (ver crypto-*), RNG predecible, secretos reutilizados entre dispositivosBlue Team / fabricante
Sección titulada «Blue Team / fabricante»- No embeber credenciales/claves; secretos por dispositivo y en almacenamiento seguro.
- Firmar el firmware y verificar en el arranque (secure boot); cifrar donde proceda.
- Mantener componentes actualizados (busybox/openssl/dropbear) y gestionar fin de vida.
- Deshabilitar servicios de depuración y cuentas de fábrica en producción.
CVEs y casos reales
Sección titulada «CVEs y casos reales»- Routers/cámaras con claves privadas compartidas entre todos los dispositivos (un leak compromete toda la flota).
- Backdoors en firmware (cuentas ocultas) hallados por extracción y grep.
- Campañas que explotan firmware sin firmar para persistencia difícil de erradicar.
Checklist de prueba
Sección titulada «Checklist de prueba»- Obtener el firmware (web/OTA/chip/app)
- Extraer con binwalk/unblob y montar el rootfs
- Buscar credenciales/claves/tokens hardcoded
- Revisar versiones de componentes (vulns conocidas)
- Detectar backdoors/cuentas ocultas/servicios de depuración
- Emular (FirmAE/QEMU) para atacar web/servicios
- Analizar binarios clave en Ghidra si procede (pwn-reversing)