ciberseguridad

Máquina de café Spengler PSL50: Un sistema embebido Linux con acceso expuesto

La investigación de un hacker revela interfaces de depuración sin protección y un sistema de actualización vulnerable en el hardware de control.

El hardware hacker Robin M. inició una investigación sobre la máquina de café Spengler PSL50 al detectar la mención de un micrófono en su documentación de servicio. Aunque el proveedor de la máquina afirmó que el componente estaba destinado a futuras funciones de detección de presencia y accesibilidad, y no se encontraba en uso activo, la curiosidad llevó a Robin M. a adquirir un módulo de visualización y control para un análisis más profundo.

El módulo reveló una arquitectura compleja para un dispositivo de su tipo, centrado en un procesador NXP i.MX 6 con un núcleo Arm Cortex-A9, ejecutando un sistema Linux embebido basado en Yocto. La placa incluía también conectividad Ethernet y USB, almacenamiento microSD e interfaces para sistemas de pago y dispensadores. Como reporta Hackster.io, el suministro de energía al módulo permitió a Robin M. identificar una interfaz UART de 3.3 V a 115200 baudios en un conector no identificado.

La conexión a esta interfaz de depuración, sin protección por contraseña en el gestor de arranque U-Boot, permitió modificar la línea de comandos del kernel. Esto facilitó la ejecución de una shell al inicio del sistema, otorgando acceso de superusuario (root) y la capacidad de modificar el sistema de archivos, incluyendo el cambio de la contraseña de root.

El acceso obtenido también puso de manifiesto una vulnerabilidad en el sistema de actualización de software. Al insertar una unidad USB, el sistema busca un script autorun.sh y su hash asociado. Sin embargo, en lugar de un cifrado criptográfico robusto, el proceso de verificación utiliza un secreto almacenado en texto plano dentro de la propia máquina. Esta implementación permite a un atacante con acceso al sistema crear paquetes de actualización arbitrarios que superen la verificación.

Antes de profundizar en la explotación, Robin M. confirmó que no había evidencia de que la máquina estuviera grabando audio, y que la mayoría de las configuraciones carecían incluso del hardware de audio necesario. Con la pregunta inicial resuelta, el control total del sistema Linux (versión 3.10.17 con glibc 2.18) fue demostrado al portar y ejecutar el videojuego Doom, primero en el banco de pruebas y luego en una máquina de café real, utilizando una unidad USB preparada para la actualización.

Fuente original: Hackster.io

Publicaciones Similares

Deja una respuesta

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