Finalmente ci occupiamo un argomento di attualità scottante, roba fresca fresca di appena un mese fa ma che ha suscitato il mio interesse e la mia fantasia e sicuramente anche quella di mezzo mondo hacker.
Da poco tempo sono in commercio delle schede di memoria SD, principalmente marca Transcend, che esteriormente sembrano normali SD ma riportano la dicitura “WiFi”. E a che caspita servono? Per i più pigri, ma anche per chi per lavoro non vuole perder tempo, sono state create queste SD da 16/32GB, costo intorno ai 50$, che se inserite in una macchina fotografica, smartphone o qualsiasi altro apparecchio memorizzano foto e file e possono collegarsi alla rete WiFi per spedire il proprio contenuto direttamente al pc, senza bisogno di spegnere l’apparecchio, estrarla e collegarla fisicamente al pc.
Potrebbe sembrare uno dei tanti aggeggini elettronici ma con l’aggiunta del WiFi… e invece riuscendo ad entrare nel device si scopre un mondo! Processore ARM9 da ~420 BogoMIPS, che corrisponde (molto approssimativamente!) alla potenza di un processore da ~800MHz, 32MB di RAM, scheda WiFi e naturalmente 16/32GB di memoria: non farebbe scalpore se non si sapesse che tutto questo è racchiuso in una schedina dalle dimensioni di un francobollo! Si fa quasi fatica a concepirlo.
Ora però viene il bello, perchè la comunità hacker, per sua natura, non si accontenta di usare il dispositivo per le due semplici operazioni di memorizzazione e trasferimento dati, ma vuole sprigionarne tutte le potenzialità.
Ecco che il 10 agosto 2013 appare su questo blog l’esperienza di un hacker che, entrato in possesso di una SD WiFi 16GB, inizia ad esplorarla per scovare un bug per poter scavallare il sistema e poter eseguire programmi a piacere. Non mi addentrerò nella spiegazione dettagliata dell’hack che potete leggere nel suo articolo (e per i più smanettoni la consiglio, è molto interessante da seguire!), cercherò di spiegare il più semplicemente possibile i passi principali.
Innanzitutto bisogna dire che il firmware del dispositivo è stato programmato da uno scarno gruppo di bonobo ubriachi, data l’incredibile quantità e qualità pessima dei bug trovati (alcuni veramente imbarazzanti), che permettono di entrare nel sistema in molteplici modi. Il primo passo da fare è stato iniziare a spulciare i file di sistema presenti nel dispositivo, naturalmente nascosti ad un uso classico: è bastato accedere al web browser della scheda e usare il classicissimo trucco dei “due punti”, che in sintassi PHP (e GNU/Linux) indicano la cartella superiore. In sostanza, se l’unica cartella visualizzabile dall’utente è quella dove mettere i propri file (secondo il percorso di sistema /www/sd/), è stato sufficiente aprire la cartella /www/sd/../../ per risalire di due livelli e scoprire tutto il contenuto della cartella principale di sistema (root), scoprire (ma era altamente intuibile) che si trattasse di un sistema GNU/Linux e leggere script e file nascosti.
In questo modo il sistema è comunque accessibile in sola lettura da parte dell’utente e senza possibilità di esecuzione diretta dei programmi; bisogna cercare qualche altro bug che possa far eseguire al sistema stesso un codice “malevolo” che inietteremo dall’esterno.
Leggendo qualche script perl è saltato subito all’occhio che un comando accettava in ingresso un input dall’utente, più specificamente una password da un form nel browser, senza nessun controllo (o comunque in javascript, semplicemente aggirabile) dei caratteri speciali; proprio grazie a questi caratteri (un ” ` “) è stato possibile alterare il funzionamento dello script originale, stoppandolo e inserendo un qualsiasi comando da eseguire sempre di seguito nel form della password. Tagliando corto, l’hacker è così riuscito ad aprire nel sistema una sessione telnet, per poter così accedere comodamente dal proprio pc, come root, al sistema completo e poter eseguire qualsiasi comando a piacere quasi come se si fosse su un comune PC GNU/Linux… con la piccola differenza che siamo in un PC grande quanto un francobollo!
Si intuisce subito che arrivato a questo punto ci si può sbizzarrire a installare qualsiasi software possa essere eseguito da un pc con 32MB di RAM, come un webserver, un client torrent o un server OpenVPN. Essendo comunque un hack fresco di qualche settimana non ci si è ancora spinti più in là, il terreno è ancora tutto da esplorare, anche se alcuni iniziano già ad accumulare knowledge sull’argomento in forum specializzati.
Personalmente mi son già immaginato che un sistema di queste dimensioni può essere usato standalone se opportunamente alimentato da una batteria; dato che è una SD il tutto può essere alimentato a 3V ad esempio da una coppia di ministilo o da una batteria a bottone (quelle degli orologi). Le dimensioni molto ridotte esaltano le proprietà di una scheda SD di poter essere facilmente trasportata o soprattutto nascosta, potendo lavorare come “pc da taschino” o nei casi più subdoli come “cimice WiFi”. Questo però è ancora (ma non per molto) terreno per la fantasia di chi saprà trovare un uso ottimale di un vero e proprio pc in miniatura dal costo di appena 50$.
Ingegnere Fisico specializzando in Ingegneria Nucleare, col pallino dell'informatica, nel tempo libero si diverte a fare l'admin e il developer di imdi.it. Aspirante hacker e profeta di GNU/Linux, non perde occasione di sponsorizzare l'Open Source.
4 Dicembre 2016
19 Marzo 2014
19 Giugno 2013
24 Maggio 2013
19 Aprile 2013
Ingegnere Fisico specializzando in Ingegneria Nucleare, col pallino dell'informatica, nel tempo libero si diverte a fare l'admin e il developer di imdi.it. Aspirante hacker e profeta di GNU/Linux, non perde occasione di sponsorizzare l'Open Source.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.