Ultima modifica:
Di recente ho aperto la mia EzCast, messa da parte perché rotta, per scoprire che queste chiavette HDMI rappresentano una certa falla di sicurezza.
Non scrivo molti Thread, specie così espansivi, quindi abbiate pazienza se non è al Top dell'editoria
Prima di tutto ho aperto il dongle, per scoprire che sono già indicati i pin Vcc, Rx, Tx e Gnd. Dopo aver saldato i cavi e collegato un TTL/USB è stato piuttosto semplice indovinare il Baud Rate ed osservare la Fase di Boot.
Alla fine si presenta un prompt di Login, con il quale è già possibile vedere quali utenti esistono nel sistema, perché se si fallisce usando root, restituisce un messaggio di errore per l'utente 'root', mentre con qualsiasi altro username, il messaggio diventa riferito ad 'UNKNOWN'.
Dopo aver tentato le combo più classiche, fallendo miseramente, ho tentato un'altra via, scaricando il Firmware originale.
Prima ho eseguito
Qui il relativo Output
E successivamente ho estratto il FW
Usando strings (ed avendo informazioni di base come il fatto che il sistema gira su Linux 2.6.27.29 ed abbiamo l'utente root) ho iniziato a cercare nei file di sistema appena estratti ed ho ottenuto immediatamente un riscontro.
Usando un hash analyzer, tanto per sicurezza, viene dato il risultato:
Hash: $1$qsNdVNb0$U5HuLrYhZ6vbslIiyaQlA1
Salt: Not Found
Hash type: MD5-Crypt
Bit length: 128
Character length: 34
Character type: Mostly base64
Hash: U5HuLrYhZ6vbslIiyaQlA1
Salt: qsNdVNb0
Significa che ci viene restituito l'hash originale, non shadow, quindi si può procedere con:
Ho poi guardato gli hash nel file shadow ed è differente. Prendendo passwd e shadow, facendo l'unshadow, si ottiene nuovamente quello di prima, ad ulteriore conferma che quello che si ottiene dal dump del firmware è quello corretto, senza shadow e senza alcun sistema di protezione.
Mi ricollego tramite UART, arrivo al login, user root, password 000000 e.... Login failed.
Ho tentato anche con hascat, servizi online, a tutti risulta '000000' eppure non funziona.
Dopo aver cercato la stringa hash online è apparso un unico risultato di successo con la password di root funzionante (e che non metterò, perché non so se sia legale pubblicarla, visto che si tratta di un FW proprietario e sono qui appunto a dire che rappresenta un problema di sicurezza), il quale non è chiaro di come sia stato ottenuto e non mi ha funzionato nemmeno con hashcat in mask mode. Fatto sta che funziona, anche perché pare essere usata anche su altri dispositivi, come anyCast...e quindi, con questa botta di fortuna, si va avanti.
Come ho detto all'inizio, il mio Dongle è rotto, non funziona il WiFi e quando EzCast rileva un'anomalia va in un Boot Loop.
A causa di questo sarebbe impossibile operare nel sistema, quindi bisogna immediatamente terminare il processo responsabile "fui.app" ed il sistema rimane stabile.
A questo punto è possibile vedere i file unici contenuti nel dispositivo, i quali non sono presenti in ezcast.bin, essendo un firmware vuoto, mai utilizzato da un utente.
Ed è esattamente questa la falla di sicurezza del titolo. Sì, perché questi dongle tengono in memoria tutte le informazioni delle reti WiFi con le quali sono entrati in collegamento, mettendo a disposizione indirizzo MAC, nome delle reti e relative password, tutto in chiaro.
A mio avviso si tratta di un problema piuttosto grave, poiché sarebbe sufficiente acquistarne di usate, direttamente da privati che le vendono su internet ed avere accesso a diverse reti, senza sforzo e con una spesa minima.
Ma oltre ad ottenere informazioni sulle reti WiFi memorizzate, questi dispositivi sembrano essere adatti anche ad altri tipi di attività.
Non ho ancora visto molto, su questo secondo aspetto, anche perché non posso usare il mio a causa del difetto che ha, però ho notato che sono presenti file che cercano determinati indirizzi IP
Purtroppo faccio fatica a lavorarci, tra lavoro e vita privata non ho molto tempo per questo... C'è da analizzare ancora tutta la sezione /proc ed inoltre non riesco ad accedere a determinati file, i quali sembrano non esistere nella versione stock del firmware, tra questi molti sono file dell'interfaccia web
Modificando gli indirizzi DNS memorizzati nel firmware sarebbe inoltre possibile dare ulteriori aggiornamenti con malware o con le pagine web modificate per il phishing.
Il dispositivo esegue sicuramente bash script e da qualche parte c'è anche gcc, anche se non me lo restituisce tra i comandi disponibili, oltre a file con estensione ".c", andando a far pensare che li compili direttamente, senza riguardo di quello che ci sia dentro.
Infine, uno screenshot di tutti i comandi disponibili
Mi sembra strano che non ci fosse nulla in tutto il forum e spero di aver dato un contributo utile. Se avete questo tipo di dispositivi, vi sconsiglio di venderli o tentate di fare qualche reset prima. Nel mio, all'interno, è presente un piccolo tasto, ma per quanto lo tenga premuto sembra non fare nulla e non posso accedere dall'interfaccia utente, per verificare se i metodi di reset a disposizione facciano veramente sparire i dati.
Non scrivo molti Thread, specie così espansivi, quindi abbiate pazienza se non è al Top dell'editoria
Prima di tutto ho aperto il dongle, per scoprire che sono già indicati i pin Vcc, Rx, Tx e Gnd. Dopo aver saldato i cavi e collegato un TTL/USB è stato piuttosto semplice indovinare il Baud Rate ed osservare la Fase di Boot.
Alla fine si presenta un prompt di Login, con il quale è già possibile vedere quali utenti esistono nel sistema, perché se si fallisce usando root, restituisce un messaggio di errore per l'utente 'root', mentre con qualsiasi altro username, il messaggio diventa riferito ad 'UNKNOWN'.
Dopo aver tentato le combo più classiche, fallendo miseramente, ho tentato un'altra via, scaricando il Firmware originale.
Prima ho eseguito
Codice:
$ binwalk -B -t ezcast.bin
Qui il relativo Output
E successivamente ho estratto il FW
Codice:
$ binwalk -e ezcast.bin
Usando strings (ed avendo informazioni di base come il fatto che il sistema gira su Linux 2.6.27.29 ed abbiamo l'utente root) ho iniziato a cercare nei file di sistema appena estratti ed ho ottenuto immediatamente un riscontro.
Codice:
$ ls | grep .ext
2E65A00.ext
3365A00.ext
465800.ext
** nei primi due non c'era nulla di utile, ma nel terzo... **
$ strings 465800.ext | grep root
...
...
root:$1$qsNdVNb0$U5HuLrYhZ6vbslIiyaQlA1:14610:0:99999:7:::
...
Usando un hash analyzer, tanto per sicurezza, viene dato il risultato:
Hash: $1$qsNdVNb0$U5HuLrYhZ6vbslIiyaQlA1
Salt: Not Found
Hash type: MD5-Crypt
Bit length: 128
Character length: 34
Character type: Mostly base64
Hash: U5HuLrYhZ6vbslIiyaQlA1
Salt: qsNdVNb0
Significa che ci viene restituito l'hash originale, non shadow, quindi si può procedere con:
Codice:
$ echo "$1$qsNdVNb0$U5HuLrYhZ6vbslIiyaQlA1" > rootpass.txt
$ john --wordlist=mywordlist.txt rootpass.txt
$ john --show rootpass.txt -> 000000
Ho poi guardato gli hash nel file shadow ed è differente. Prendendo passwd e shadow, facendo l'unshadow, si ottiene nuovamente quello di prima, ad ulteriore conferma che quello che si ottiene dal dump del firmware è quello corretto, senza shadow e senza alcun sistema di protezione.
Mi ricollego tramite UART, arrivo al login, user root, password 000000 e.... Login failed.
Ho tentato anche con hascat, servizi online, a tutti risulta '000000' eppure non funziona.
Dopo aver cercato la stringa hash online è apparso un unico risultato di successo con la password di root funzionante (e che non metterò, perché non so se sia legale pubblicarla, visto che si tratta di un FW proprietario e sono qui appunto a dire che rappresenta un problema di sicurezza), il quale non è chiaro di come sia stato ottenuto e non mi ha funzionato nemmeno con hashcat in mask mode. Fatto sta che funziona, anche perché pare essere usata anche su altri dispositivi, come anyCast...e quindi, con questa botta di fortuna, si va avanti.
Come ho detto all'inizio, il mio Dongle è rotto, non funziona il WiFi e quando EzCast rileva un'anomalia va in un Boot Loop.
A causa di questo sarebbe impossibile operare nel sistema, quindi bisogna immediatamente terminare il processo responsabile "fui.app" ed il sistema rimane stabile.
A questo punto è possibile vedere i file unici contenuti nel dispositivo, i quali non sono presenti in ezcast.bin, essendo un firmware vuoto, mai utilizzato da un utente.
Ed è esattamente questa la falla di sicurezza del titolo. Sì, perché questi dongle tengono in memoria tutte le informazioni delle reti WiFi con le quali sono entrati in collegamento, mettendo a disposizione indirizzo MAC, nome delle reti e relative password, tutto in chiaro.
A mio avviso si tratta di un problema piuttosto grave, poiché sarebbe sufficiente acquistarne di usate, direttamente da privati che le vendono su internet ed avere accesso a diverse reti, senza sforzo e con una spesa minima.
Ma oltre ad ottenere informazioni sulle reti WiFi memorizzate, questi dispositivi sembrano essere adatti anche ad altri tipi di attività.
Non ho ancora visto molto, su questo secondo aspetto, anche perché non posso usare il mio a causa del difetto che ha, però ho notato che sono presenti file che cercano determinati indirizzi IP
Codice:
#cat /mnt/user1/dns/resolv.conf
search actions.com.cn
nameserver 192.168.140.10
nameserver 192.168.1.10
Purtroppo faccio fatica a lavorarci, tra lavoro e vita privata non ho molto tempo per questo... C'è da analizzare ancora tutta la sezione /proc ed inoltre non riesco ad accedere a determinati file, i quali sembrano non esistere nella versione stock del firmware, tra questi molti sono file dell'interfaccia web
Modificando gli indirizzi DNS memorizzati nel firmware sarebbe inoltre possibile dare ulteriori aggiornamenti con malware o con le pagine web modificate per il phishing.
Il dispositivo esegue sicuramente bash script e da qualche parte c'è anche gcc, anche se non me lo restituisce tra i comandi disponibili, oltre a file con estensione ".c", andando a far pensare che li compili direttamente, senza riguardo di quello che ci sia dentro.
Infine, uno screenshot di tutti i comandi disponibili
Mi sembra strano che non ci fosse nulla in tutto il forum e spero di aver dato un contributo utile. Se avete questo tipo di dispositivi, vi sconsiglio di venderli o tentate di fare qualche reset prima. Nel mio, all'interno, è presente un piccolo tasto, ma per quanto lo tenga premuto sembra non fare nulla e non posso accedere dall'interfaccia utente, per verificare se i metodi di reset a disposizione facciano veramente sparire i dati.