Muchos dispositivos en el mercado poseen una configuración de hardware más avanzada de lo que imaginamos, y rápidamente se convierten en terreno fértil para entusiastas que buscan obtener acceso de bajo nivel con un solo objetivo: Instalar y ejecutar Doom. Con eso en mente llegamos al experimento de Josh Max, quien tomó a un teléfono de línea equipado con un SoC ARM y una versión modificada de Linux, obtuvo las credenciales root después de una larga espera, y abrió los portales infernales para el marine una vez más…
Mientras que una parte del mundo avanza con el retiro de las líneas telefónicas tradicionales, todavía quedan muchos productos y servicios asociados a esta tecnología. Uno de esos servicios es CaptionCall, que ofrece teléfonos equipados con un sistema de close captioning en tiempo real, destinados a usuarios con discapacidad auditiva. Los teléfonos CaptionCall son subsidiados por el gobierno estadounidense (a través de la FCC y la «Americans with Disabilities Act» de 1990), y no es complicado obtener unidades de segunda mano a precios razonables (menos de 30 dólares).
Los teléfonos CaptionCall tienen otro detalle muy interesante: Son esencialmente ordenadores. En su blog personal, Josh Max explica que un teléfono CaptionCall posee un SoC ARMv7 i.MX6, 1 GB de RAM DDR3, y 4 GB de almacenamiento NAND. El problema es que su software está guardado bajo siete llaves, y al usar una versión modificada del kernel Linux, la compañía ha sido acusada de violar GPL. Josh decidió no detenerse ahí, y procedió a hackear el teléfono con una idea en mente: Ejecutar Doom.
Cómo ejecutar Doom en un teléfono de línea hackeado
Después de algunas pruebas externas, Josh abrió el teléfono y encontró un punto de acceso UART, que a su vez le permitió acceder a la consola de sistema. La cuenta root estaba protegida, pero con una consola U-Boot disponible (presionando «Escape» en el primer segundo después de encender el teléfono), Josh inició un dump del firmware a través de U-Boot sobre conexión serial… lo cual tardó nueve horas, y demandó varios intentos debido a las interferencias en la comunicación.
Con su dump terminado, Josh usó binwalk para descomprimir la imagen, y «John» (creo que es John the Ripper) para crackear el password root, que cayó en menos de diez segundos. En la última fase, Josh eliminó la interfaz propietaria del teléfono, instaló un chroot para Debian Jesse ARM, reactivó audio, vídeo y soporte táctil, cargó IceWM, y finalmente, DOOM.
¿La mejor parte? El trabajo de Josh transforma al CaptionCall en una excelente plataforma de desarrollo low cost. En estos momentos se encuentra realizando ingeniería inversa sobre el código (ya que la compañía no lo comparte), y espera alcanzar aceleración 3D. DOOM es sólo el inicio…
Fuentes: Blog personal de Josh Max, Hackaday