Investigadores de seguridad han documentado el proceso de extracción y análisis del firmware del Eufy HomeBase 2, un concentrador central en el ecosistema de hogar inteligente de Eufy. Debido a que la memoria flash del dispositivo está soldada directamente a la placa de circuito sin pines expuestos para la descarga de datos, los investigadores tuvieron que retirar físicamente el chip Winbond 25Q256JWEQ. Los intentos iniciales de leer el chip mientras aún estaba en la placa fallaron porque la energía suministrada para la operación de lectura activaba otros componentes que interferían con la memoria. Para descargar el firmware con éxito, el chip tuvo que ser desoldado y leído fuera de la placa utilizando la interfaz SPI0 de una Raspberry Pi.

La imagen ilustra la modificación física del hardware necesaria para extraer el firmware del Eufy HomeBase 2.

Esta imagen demuestra el método de lectura fuera de la placa utilizado después de que el chip fue retirado del dispositivo.
Aunque la extracción fue exitosa, el proceso resultó en la pérdida o inutilización de un bloque de datos de 64 KB debido a daños físicos durante el proceso de desoldado. A pesar de esto, los investigadores pudieron utilizar Binwalk para identificar y extraer varios componentes, incluyendo una imagen del kernel de Linux y un sistema de archivos JFFS2. Utilizaron una combinación de herramientas, incluyendo 7-Zip para manejar múltiples flujos de datos comprimidos en XZ, para extraer archivos del bloque de firmware. Esto les permitió acceder a scripts internos y binarios que rigen el comportamiento del dispositivo.

La imagen explica la complejidad de los flujos de datos comprimidos que requirieron múltiples herramientas para ser desempaquetados.
Uno de los enfoques principales del análisis fue el algoritmo utilizado para generar las credenciales de la red Wi-Fi de gestión 'OCEAN_XXXXXX'. Al examinar el firmware extraído, los investigadores identificaron scripts que concatenan el prefijo 'OCEAN_' con la dirección MAC del dispositivo para crear el SSID. También descubrieron que la contraseña de Wi-Fi se recupera de una variable NVRAM específica (WPAPSK1). Para investigar más a fondo la lógica, los investigadores utilizaron un script de Python personalizado para extraer un ejecutable MIPS de 32 bits del bloque de firmware, el cual contenía símbolos relacionados con la configuración y gestión de la contraseña de Wi-Fi. Este análisis ayuda a aclarar cómo el dispositivo maneja la autenticación de la red local y si los métodos de generación siguen siendo débiles o han sido actualizados en versiones recientes.