Originariamente chiamate “connected TV”, e ora sono chiamate “smart TV”. Qualsiasi televisore che può essere collegato a Internet per accedere a servizi, utilizzare applicazioni e comportarsi in qualche modo come i nostri computer con browser web. Le Smart TV si collegano a Internet tramite una connessione Ethernet cablata o Wi-Fi in una rete domestica. Le Smart TV richiedono chip per computer per destreggiarsi nell’elaborazione video, schermi multipli e una connessione a Internet. Usano anche la memoria per bufferizzare lo streaming di video e musica, e hanno bisogno di potenza di elaborazione aggiuntiva per gestire la grafica. Le TV possono essere controllate da comandi vocali e da app in esecuzione su alcuni smartphone.

Dan Reynolds, esperto di soluzioni di sicurezza informatica e formazione dell’International Institute of cyber security spiega che queste Smart TV non sono così intelligenti e la sicurezza del software non è esattamente perfetta. Le Smart TV assomigliano all’Internet delle cose (IoT), ma le vecchie vulnerabilità che erano considerate completamente scomparse sono di nuovo nuove vulnerabilità nell’Internet delle cose (IoT). A volte si può facilmente trovare una falla che può consentire di intraprendere una serie di azioni sulla TV, tra cui l’accesso a dati potenzialmente sensibili, file remoti e immagine dell’unità e infine ottenere l’accesso root al dispositivo.

Smart television hack

Nell’articolo tratteremo diversi aspetti di due marche più famose di Smart TV, Samsung e LG, con l’aiuto del professore del corso di hacking etico di IIcybersecurity.

Comprensione del sistema operativo SAMSUNG SMART TV

Tizen è un sistema operativo basato sul kernel Linux e la GNU C Library che implementa le API Linux. Si rivolge a una vasta gamma di dispositivi tra cui smartphone, tablet, dispositivi di infotainment (IVI) a bordo dei veicoli, smart TV, PC, fotocamere intelligenti, wearable computing, lettori Blu-ray, stampanti ed elettrodomestici intelligenti. Il suo scopo è quello di offrire un’esperienza utente coerente attraverso i dispositivi. Tizen sarebbe stato implementato nelle TV Samsung dal 2015.

Tizen-OS-architettura

Ci sono alcune comunità online che stanno lavorando sulla ricerca del sistema operativo delle smart TV Samsung come Sammygo, cita Dan Reynolds, esperto di soluzioni di sicurezza e formazione.

sammygo-forum
sammy-go-samsung

Come fare analisi sul firmware della Smart TV Samsung

Il connettore ExLink consiste in un cavo che ha da un lato un jack da 3.5mm, come quelli audio, e dall’altro un connettore RS232 (seriale) DB9. Questo cavo vi permetterà di collegare il vostro computer alla TV ed entrare in modalità seriale. Con questo puoi usare un software di comunicazione seriale, come Hyperterminal, Putty da Windows o Linux.

Ex-link-connettore-samsung

Collegamento alla TV Samsung

  1. Porta la TV in modalità Standby, premi poi poi e poi quando la TV si accende mostra un nuovo Service Menu.
  2. Abilitare l’opzione Hotel, e impostare l’interfaccia RS-232 su UART.
  3. Utilizzare il pulsante di accensione poi spegnere e riaccendere il televisore.

La TV dovrebbe ora essere pronta per la comunicazione con il tuo PC.

Collegare Wireshark con Smasung Smart TV

C’è un dissettore Wireshark per il protocollo Samsung SmartTV.

Wireshark-Samsung-dissector

Questo dissettore permette di filtrare le catture di Wireshark e decodificare i pacchetti di controllo remoto che sono inviati alla TV via WiFi e i pacchetti che sono inviati dalla TV al telecomando. Questo plugin per wireshark permette una semplice creazione dichiarativa dei propri dissettori per protocolli personalizzati.

Per installare il dissettore nella tua installazione di wireshark, devi fare le seguenti azioni:

Scarica la versione di WSGD che corrisponde alla tua versione di wireshark e all’architettura della tua macchina e mettila nella cartella dei plugin di wireshark. Decomprimi i file del dissettore (ad esempio /usr/lib/wireshark/libwireshark0/plugins/).

Per vedere il dissettore in azione puoi fare così:

  • Esegui wireshark con il dissettore installato. Scarica il file di cattura di esempio e aprilo in wireshark.
  • Digita samsung_remote nel campo del filtro e vedi il pacchetto filtrato Samsung Remote.
  • Clicca su uno dei pacchetti contrassegnati con il protocollo SR e vedi i dati del pacchetto decodificato.
Dissector-Samsung-wiresahrk

Puoi testare la connessione con alcuni dei comandi

TV On: \x08\x22\x00\x00\x00\x02\xd6\r
TV Off: \x08\x22\x00\x00\x00\x01\xd5
HDMI1: \x08\x22\x0a\x00\x05\x00\xc7
TV Tuner: \x08\x22\x0a\x00\x00\x00\xcc
Volume su : \Volume su: \x08\x22\x01x00x01x00x00\xd4
Volume giù: \x08\x22x01x00x02x00x00xd3
Muto: \x08\x22x02x00x00x00x00xd4
Altoparlante: \Altoparlante spento: \x08\x22\x0cx06\x00x00\x00xc4
Altoparlante spento: \x08\x22\x0cx06\x00\x01\xc3
HDMI 2: \x08\x22x0ax00\x05\x01\xc6
HDMI 3: \x08\x22\x0a\x00\x05\x02\xc5

Samsung-serial-commands
Samsung-serial-commands
Samsung-serial-commands
Samsung-serial-commands

Smart TV Hotel Mode Hack

Alcuni modelli di TV Samsung hanno un’opzione, per far funzionare la TV quando sono installati in hotel. Questo fa lavorare la TV in un ambiente isolato che protegge alcune funzioni dalle modifiche che gli ospiti dell’hotel vogliono fare. È possibile utilizzare i passaggi menzionati di seguito per entrare in modalità hotel TV e rootarlo.

Hotel-Mode-hack
Hotel-Mode-hack
Hotel-Mode-hack

Ci sono molti progetti indipendenti relativi a Samsung smart TV su Github Come Samsung-Remote cita Dan Reynolds, esperto di soluzioni di sicurezza e formazione.

Github-Samsung

Comprensione del sistema operativo LG SMART TV

Quando si acquista una LG Smart TV si ottiene una LG TV con sistema operativo WebOS. WebOS, noto anche come LG WebOS, Open WebOS, HP WebOS, o Palm WebOS, è un sistema operativo multitasking basato sul kernel Linux per dispositivi intelligenti come televisori e orologi intelligenti e in precedenza era un sistema operativo mobile. Inizialmente sviluppato da Palm, che è stato acquisito da Hewlett-Packard. HP ha reso la piattaforma open source, ed è diventata Open WebOS. Il sistema operativo è stato poi venduto a LG Electronics.

OpenWebOS-architettura

Siccome il WebOS è open source, ci sono alcune comunità open source online come (openwebosproject, openlgtv) che lavorano sul firmware. Da queste comunità è possibile scaricare il firmware del sistema operativo e fare le proprie ricerche.

OpenWebOS-community
OpenLGTv-community

Connettersi alla Smart TV

Il primo passo per hackerare qualsiasi sistema è conoscere il sistema. Per capire l’architettura e monitorare il traffico che la vostra Smart TV sta inviando dovrete collegare il vostro computer alla Smart TV. Per arrivare al livello del firmware è necessario connettersi tramite l’interfaccia RS-232C. Puoi facilmente connetterti usando il cavo RS-232 dal televisore all’USB del computer.

In generale raccomandiamo il sistema operativo Linux. Ci sono rapporti di utenti che hanno problemi con alcuni adattatori USB2Serial sotto Windows 7, quindi al momento raccomandiamo Windows XP per l’utilizzo di adattatori USB2Serial.

LG_USB-Serial_adapter_cable

Avvia la TV e vai al menu ‘Options’ usando il telecomando e considera che Set ID sia impostato su 1. Avrai bisogno di un programma di emulazione terminale come Hyperterminal o Putty. Imposta la seguente configurazione 9600 o 115200 baud (sui firmware recenti c’è ora 115200bps baudrate di default), 8N1, XON/XOFF. Lunghezza dei dati: 8 bit, Parità: Nessuna, Bit di stop: 1 bit, Codice di comunicazione: Codice ASCII. Emettendo i seguenti comandi si può controllare la connessione. Ci sono molti comandi diversi per giocare con il sistema.

LG-Serial-commands

Protocollo di trasmissione/ricezione

: Primo comando per controllare il set.(j, k, m o x) : Secondo comando per controllare il set.

: Si può regolare l’ID set per scegliere il numero desiderato di ID set nel menu Option. La gamma di regolazione è 1~ 99. Quando si seleziona Set ID 0, ogni set collegato è controllato. Set ID è indicato come decimale (1~ 99) sul menu e come decimale Hexa (0x0~ 0x63) sul protocollo di trasmissione/ricezione.

: Per trasmettere i dati di comando. Trasmettere i dati FF per leggere lo stato del comando.

: Carriage Return codice ASCII 0x0D

: Spazio codice ASCII (0x20) * In questo modello, il set non invierà lo stato durante la modalità standby.

OK Acknowledgement

Il set trasmette ACK (acknowledgement) basato su questo formato quando riceve dati normali. In questo momento, se i dati sono in modalità di lettura, indica i dati di stato presenti. Se i dati sono in modalità di scrittura dati, restituisce i dati del computer PC.

* In questo modello, il set non invierà lo stato durante la modalità standby. * Formato dei dati: Usa come comando. : Usa il carattere piccolo, se l’ID impostato è 10, invierà lo 0, a. : Usa il carattere piccolo, se i dati sono 0 x ab, invierà l’a, b. : Usa il carattere grande.

Riconoscimento degli errori

Il set trasmette ACK (riconoscimento) basato su questo formato quando riceve dati anormali da funzioni non valide o errori di comunicazione.

Dati01: Codice illegale Data02: Funzione non supportata Data03: Aspetta più tempo * In questo modello, il set non invia lo stato durante la modalità standby. * Formato dei dati: Usa come comando. : Usa il carattere piccolo, se l’ID del set è 10, invierà lo 0, a. : Usa il carattere piccolo, se i dati sono 0 x ab, invierà l’a, b. : Usa il carattere grande.

Power (Comando: k a)

Per controllare l’accensione/spegnimento del set.

Trasmissione

Dati 00: Spegnimento Dati 01: Accensione

Riconoscimento

* In modo simile, se altre funzioni trasmettono dati ‘FF’ basati su questo formato, il feedback dei dati di riconoscimento presenta lo stato di ogni funzione.

* Nota: In questo modello, il set invierà la conferma dopo l’accensione del completamento dell’elaborazione.

Ci potrebbe essere un ritardo tra il comando e la conferma.

LG-Serial-commands
LG-Serial-commands
LG-Serial-commands
LG-Serial-commands

O puoi usare anche script disponibili in Internet come libLGTV_serial. Mike Stevans, professore del corso di hacking etico, spiega che libLGTV_serial è una libreria Python per controllare le TV LG (o monitor con porte seriali) attraverso la loro porta seriale (RS232).

LGserial-github

LG TV USB IR-Hack con Arduino

Puoi facilmente hackerare la tua LG TV con una scheda adruino tramite il caricamento di script.

Questa libreria di telecomando a infrarossi consiste di due parti: IRsend trasmette pacchetti IR a distanza, mentre IRrecv riceve e decodifica un messaggio IR.

#include <IRremote.h>IRsend irsend;void setup(){ Serial.begin(9600);}void loop() { if (Serial.read() != -1) { for (int i = 0; i < 3; i++) { irsend.sendSony(0xa90, 12); // Sony TV power code delay(100); } }} 

#include <IRremote.h>int RECV_PIN = 11;IRrecv irrecv(RECV_PIN);decode_results results;void setup(){ Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver}void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value }}
Github-LG

Puoi imparare di più sugli hack di adruino dai progetti Github e dalle comunità open source.

Come attivare il lettore USB via seriale

  1. Collegare il PC tramite porta COM o adattatore USB2COM (USBtoRS232) al connettore RS232 della TV
  2. Eseguire un programma di terminale sul PC (hyperterminal o putty per esempio)
  3. Impostare i seguenti parametri per la porta COM: velocità 9600, controllo flusso: nessuno. Lasciare tutti gli altri ai valori predefiniti.
  4. Nel terminale inserire: “ab 0 ff” e premere “Enter”. Dovreste ottenere la seguente risposta “01 ok????x”, dove ???? è il numero dell’opzione Tool. Ricordatelo o scrivetelo su un pezzo di carta.
  5. Per attivare il lettore multimediale USB inserite: “ab 0 6″ e premere enter.
  6. Spegnere/accendere la TV. L’icona USB dovrebbe apparire nel menu principale della TV.

Firmware personalizzati

È possibile scaricare vecchi firmware dai siti ufficiali LG o dai forum su Internet. Questi firmware sono personalizzati secondo le esigenze dell’utente.

LG-firmware
LG-hack-forum

Mike Stevens, professore del corso di hacking in Messico spiega che con comandi seriali, script e vulnerabilità chiunque può violare una smart TV. Alcune delle vulnerabilità conosciute per le quali sono disponibili diversi exploit nel mercato nero sono:

Autenticazione debole

Il protocollo è molto semplice in termini di autenticazione e il pacchetto di autenticazione ha bisogno solo di un indirizzo IP, un indirizzo MAC e un nome host per l’autenticazione. Si può facilmente rompere il protocollo. Anche l’autenticazione lato client non è così forte. Inoltre il protocollo non gestisce l’autenticazione del valore NULL dell’indirizzo MAC e quindi qualsiasi dispositivo con un valore NULL dell’indirizzo MAC può connettersi al televisore.

Apipe vulnerabili del televisore

Un hacker può violare e installare malware attraverso le API del televisore come File.Unzip o Skype. Queste possono essere usate per copiare i file in qualsiasi file system scrivibile sul bersaglio e installare una backdoor.

Vulnerabilità di attacco Man in Middle

Utilizzando le vulnerabilità di attacco MIM un hacker può sniffare i dati poiché TV non controlla i certificati dei server. Quindi con certificati falsi un hacker può facilmente fare un attacco Man in Middle.

Secondo gli esperti di soluzioni e formazione sulla sicurezza delle informazioni, la creazione di malware per Smart TV non è così diversa dalla creazione di malware per PC o sistemi Linux. Il sistema operativo di base è Linux e ha vulnerabilità. Quindi, utilizzando i comandi seriali e le vulnerabilità, un hacker può facilmente entrare in una smart TV. Anche perché non ci sono anti-virus o soluzioni anti-malware disponibili per le smart TV, quindi diventa più facile per un hacker entrare nelle Smart TV.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.