Desoldador, Raspberry Pi y un timbre inteligente: así se revierte el firmware de un IoT de feria

Desoldador, Raspberry Pi y un timbre inteligente: así se revierte el firmware de un IoT de feria

Desoldador, Raspberry Pi y un timbre inteligente: así se revierte el firmware de un IoT de feria

Llevaba tiempo sin ver una investigación de hardware tan pegada a la realidad de desarmar una de esas weas baratas conectadas en la casa. El equipo de Adepts of 0xCC se tomó una Eufy HomeBase 2, la base de un timbre con cámara, y la destazó completa: firmware extraído, algoritmo de la WiFi de administración revertido y bootloader reflasheado para abrir la consola. Vale la pena recorrerla, porque enseña más que cualquier CVE suelto.

Primero hay que sacar la memoria, aunque esté soldada

El primer obstáculo fue físico: la flash viene soldada directo a la placa, sin pines expuestos. Tocó desoldar, y no salió limpio: quedó un bloque de 64 KB dañado. Aun así obtuvieron tres dumps con checksum idéntico y los datos que buscaban, que de paso es una lección forense: haz siempre varias lecturas y compáralas, porque una sola puede estar corrupta y tú ni en cuenta.

El dump lo hicieron con el SPI de una Raspberry Pi: una placa, cables y paciencia. El costo de entrada de estas pegas es bajo si tienes las herramientas correctas.

La WiFi de administración: OCEAN_XXXXXX

Dentro del firmware encontraron la red de administración que la base crea para trabajar con el timbre. El ESSID es simple: OCEAN_ más la dirección MAC del equipo, algo que cualquier notebook escaneando redes ve al tiro. Lo interesante era la contraseña.

Revertieron la cadena que la genera: el firmware consulta por I2C un número de serie de un chip interno, lo mezcla con el número de serie del dispositivo vía HMAC-SHA256 y el resultado se codifica en base64. Suena sólido hasta que te fijas en el detalle: el único dato desconocido es el valor que devuelve ese chip, porque el número de serie del dispositivo sigue una plantilla conocida según el modelo. Respecto del algoritmo débil de 2024 que ya había documentado otro investigador es un salto, pero sigue siendo derivación, no entropía real. Si la contraseña nace de valores grabados en la placa, toda la seguridad depende de que nadie desarme el equipo. Con acceso físico, el atacante juega de local.

UART bloqueada, U-Boot reflasheado, shell

El segundo frente fue la consola serie. La UART existe, pero viene con lockout: un script pide una tecla, detecta la entrada, se cae y se relanza en bucle infinito. Intentar interrumpir el U-Boot no sirvió, así que dieron otra vuelta de tuerca: reemplazaron la imagen de recuperación, ese U-Boot con cabecera de 64 bytes que carga si la imagen principal falla. Escribieron encima la suya parcheada, soldaron el chip de nuevo, conectaron un USB-TTL y obtuvieron shell de admin.

Ese punto me dejó pensando. En mis servidores aplico reglas estrictas: sin contraseñas, sin puertos que no uso, respaldo antes de tocar cualquier cosa. Pero estos aparatos de consumo no tienen de eso: le pones lockout a la UART y te reflashean la imagen de recuperación. Es seguridad por oscuridad, pura cortina. Y cuando tienes shell en un aparato dentro de tu red local, el timbre deja de ser timbre y se convierte en un pivot.

Lo que esto deja

Tres lecciones. Si compras IoT barato, segrega la red en una VLAN aparte. La seguridad física es parte de la ecuación: una cerradura sin control del hardware es una caja fuerte de vidrio. Y la tercera es más personal: esta investigación salió de desoldar chips, leer ensamblador y ensuciarse las manos en una mesa de trabajo, no de un modelo de IA. El propio autor cuenta en su cierre que lleva veinte años publicando y que con los LLM quedó desmotivado: el ecosistema de blogs donde uno aprendía metodologías se está apagando.

Por eso escribo esto igual aquí, aunque sea en un rincón chico de la internet. Cuando me toca enfrentarme a un sistema que nadie ha documentado, lo que me ha salvado no ha sido un chatbot, sino el artículo escrito por alguien que pasó las dos de la mañana con un desoldador. Ese archivo humano no se reemplaza con resúmenes.

Fuente del tema: A story of wifi secrets, UART lockdowns and a damaged flash memory chip, de Adepts of 0xCC.

Fuente de inspiración: A story of wifi secrets, UART lockdowns and a damaged flash memory chip – Adepts of 0xCC

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *