Molti dispositivi sul mercato hanno una configurazione hardware più avanzata di quanto immaginiamo, e diventano rapidamente terreno fertile per appassionati che cercano di ottenere accesso di basso livello con un solo obiettivo: installare ed eseguire Doom. Con questo in mente arriviamo all'esperimento di Josh Max, che ha preso un telefono fisso equipaggiato con un SoC ARM e una versione modificata di Linux, ha ottenuto le credenziali root dopo una lunga attesa, e ha aperto i portali infernali per il marine ancora una volta….

Come eseguire Doom su un telefono… fisso
Eseguire Doom

Mentre una parte del mondo avanza con il ritiro delle linee telefoniche tradizionali, rimangono ancora molti prodotti e servizi associati a questa tecnologia. Uno di questi servizi è CaptionCall, che offre telefoni equipaggiati con un sistema di sottotitoli in tempo reale, destinati a utenti con disabilità uditive. I telefoni CaptionCall sono sovvenzionati dal governo statunitense (attraverso la FCC e la «Americans with Disabilities Act» del 1990), e non è difficile ottenere unità di seconda mano a prezzi ragionevoli (meno di 30 dollari).

Come eseguire Doom su un telefono… fisso
Così appare un telefono CaptionCall

I telefoni CaptionCall hanno un altro dettaglio molto interessante: sono essenzialmente computer. Nel suo blog personale, Josh Max spiega che un telefono CaptionCall ha un SoC ARMv7 i.MX6, 1 GB di RAM DDR3 e 4 GB di memoria NAND. Il problema è che il suo software è custodito sotto sette chiavi, e utilizzando una versione modificata del kernel Linux, l'azienda è stata accusata di violare la GPL. Josh ha deciso di non fermarsi lì e ha proceduto a hackerare il telefono con un'idea in mente: eseguire Doom.

Come eseguire Doom su un telefono… fisso

Come eseguire Doom su un telefono fisso hackerato

Dopo alcuni test esterni, Josh ha aperto il telefono e ha trovato un punto di accesso UART, che a sua volta gli ha permesso di accedere alla console di sistema. L'account root era protetto, ma con una console U-Boot disponibile (premendo «Escape» nel primo secondo dopo l'accensione del telefono), Josh ha avviato un dump del firmware tramite U-Boot su connessione seriale... cosa che è durata nove ore, e ha richiesto diversi tentativi a causa delle interferenze nella comunicazione.

Come eseguire Doom su un telefono… fisso
L'immagine è a bassa risoluzione, ma il punto di ingresso è chiaramente visibile...

Con il dump completato, Josh ha usato binwalk per decomprimere l'immagine e John the Ripper per crackare la password di root, che è caduta in meno di dieci secondi. Nell'ultima fase, Josh ha eliminato l'interfaccia proprietaria del telefono, ha installato un chroot per Debian Jessie ARM, ha riattivato audio, video e supporto touch, ha caricato IceWM e, infine, DOOM.

La parte migliore? Il lavoro di Josh trasforma il CaptionCall in un'eccellente piattaforma di sviluppo low cost. Al momento sta facendo reverse engineering sul codice (poiché l'azienda non lo condivide) e spera di raggiungere l'accelerazione 3D. DOOM è solo l'inizio...

Fonti: Blog personale di Josh Max, Hackaday.