Oorspronkelijk werden ze “connected TV’s” genoemd, en nu worden ze “smart TV’s” genoemd. Elke televisie die kan worden aangesloten op internet om toegang te krijgen tot diensten, apps te gebruiken en zich op een bepaalde manier te gedragen als onze computers met webbrowser. Smart TV’s maken verbinding met het internet via een bekabelde Ethernet-verbinding of Wi-Fi in een thuisnetwerk. Smart TV’s hebben computerchips nodig om te jongleren met videoverwerking, meerdere schermen en een internetverbinding. Ze gebruiken ook geheugen om streaming video en muziek te bufferen, en hebben extra rekenkracht nodig om grafische beelden te verwerken. TV’s kunnen worden bestuurd door spraakopdrachten en door apps die op sommige smartphones draaien.

Dan Reynolds, informatiebeveiligingsoplossing en -trainingsexpert van het International Institute of cybersecurity legt uit dat deze Smart TV’s niet zo slim zijn en dat de beveiliging van software niet helemaal perfect is. Smart TV’s lijken op het internet der dingen (IoT), maar oude kwetsbaarheden die werden geacht volledig te zijn verdwenen, zijn in het internet der dingen (IoT) weer nieuwe kwetsbaarheden. Soms kun je gemakkelijk een fout vinden waarmee je verschillende acties op de tv kunt uitvoeren, waaronder toegang tot mogelijk gevoelige gegevens, bestanden en schijfimage op afstand en uiteindelijk roottoegang tot het apparaat.

Smart television hack

In dit artikel behandelen we verschillende aspecten van twee bekendste merken Smart TV’s, Samsung en LG, met behulp van de cursus ethisch hacken van professor IIcybersecurity.

Uitleg over het besturingssysteem SAMSUNG SMART TV

Tizen is een besturingssysteem dat is gebaseerd op de Linux-kernel en de GNU C-bibliotheek die de Linux-API implementeert. Het is gericht op een zeer breed scala aan apparaten, waaronder smartphones, tablets, infotainment-apparaten in voertuigen (IVI), slimme tv’s, pc’s, slimme camera’s, wearable computing, Blu-ray-spelers, printers en slimme huishoudelijke apparaten. Het doel is om een consistente gebruikerservaring te bieden voor alle apparaten. Tizen zou vanaf 2015 in Samsung-tv’s zijn geïmplementeerd.

Tizen-OS-architectuur

Er zijn enkele online gemeenschappen die zich bezighouden met het onderzoek naar het Samsung smart TV OS, zoals Sammygo, vermeldt Dan Reynolds, expert op het gebied van informatiebeveiligingsoplossingen en -trainingen.

sammygo-forum
sammy-go-samsung

Hoe analyseer ik de firmware van Samsung Smart TV?

ExLink-connector bestaat uit een kabel met aan de ene kant een 3,5mm-aansluiting, zoals bij audio, en aan de andere kant een RS232 ( seriële ) DB9-connector. Met deze kabel kunt u uw PC-computer op de TV aansluiten, en in de seriële modus gaan. Hiermee kunt u een seriële communicatie software gebruiken, zoals Hyperterminal, Putty van Windows of Linux.

Ex-link-connector-samsung

Aansluiten op Samsung TV

  1. Zet de TV in Standby Modus, druk dan op en als de TV dan aan gaat laat hij een nieuw Service Menu zien.
  2. Schakel de Hotel Optie in, en zet de RS-232 interface op UART.
  3. Gebruik de Aan/uit knop en zet de TV uit en weer aan.

De TV zou nu klaar moeten zijn voor communicatie met uw PC.

Wireshark verbinden met Smasung Smart TV

Er is een Wireshark dissector voor Samsung SmartTV protocol.

Wireshark-Samsung-dissector

Met deze dissector kunt u wireshark-vangsten filteren en afstandsbedieningspakketten decoderen die via WiFi naar de tv worden verzonden en pakketten die van de tv naar de afstandsbediening worden verzonden. Deze wireshark plugin, staat eenvoudige declaratieve creatie van uw eigen dissectors voor aangepaste protocollen toe.

Om de dissector op uw wireshark installatie te installeren, moet u de volgende handelingen uitvoeren:

Download versie van WSGD die overeenkomt met uw wireshark versie en machine architectuur en plaats het in uw wireshark plugins map. Unzip de dissector bestanden (b.v. /usr/lib/wireshark/libwireshark0/plugins/).

Om de dissector in actie te zien zou u het volgende kunnen doen:

  • Run wireshark met geïnstalleerde dissector. Download een voorbeeld van een capture-bestand en open het in wireshark.
  • Type samsung_remote in het filterveld en zie het gefilterde Samsung Remote pakket.
  • Klik op een van de pakketten die gemarkeerd zijn met het SR-protocol en zie de gedecodeerde pakketgegevens.
Dissector-Samsung-wiresahrk

U kunt de verbinding testen met een aantal commando’s

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: \Volume omhoog: \Volume omlaag : \x08x22x01\x00\x00xd4
Mute Toggle : \x08x22x02\x00xd3
Speaker aan : \luidspreker uit : \x08x22x0c\x06\x00x01xc3
HDMI 2 : \x08x22x0a\x00\x05\x01xc6
HDMI 3 : \x08x22x0a\x00\x05\x01xc6
HDMI 2 : \x08x22x0a\x00c\x00c4
HDMI 2 : \x08x22x0c\x00c\x00c\x00c3

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

Smart TV Hotel Mode Hack

Sommige modellen van Samsung TV’s hebben een optie, om de TV te laten werken als ze in hotels geïnstalleerd zijn. Dit maakt de TV om te werken in een geïsoleerde omgeving die sommige functies beschermt tegen de wijzigingen hotelgasten willen doen. U kunt de onderstaande stappen gebruiken om de hotel TV-modus te hacken en te rooten.

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

Er zijn veel onafhankelijke projecten met betrekking tot Samsung smart TV op Github, zoals Samsung-Remote vermeldt Dan Reynolds, informatiebeveiliging oplossing en training expert.

Github-Samsung

Uitleg over het besturingssysteem van de LG SMART TV

Wanneer u een LG Smart TV koopt, krijgt u een LG TV met WebOS-besturingssysteem. WebOS, ook bekend als LG WebOS, Open WebOS, HP WebOS, of Palm WebOS, is een Linux kernel-gebaseerd multitasking besturingssysteem voor slimme apparaten zoals tv’s en slimme horloges en was voorheen een mobiel besturingssysteem. Het werd oorspronkelijk ontwikkeld door Palm, dat werd overgenomen door Hewlett-Packard. HP maakte het platform open source, en het werd Open WebOS. Het besturingssysteem werd later verkocht aan LG Electronics.

OpenWebOS-architectuur

Aangezien WebOS open source is, zijn er enkele online open source gemeenschappen zoals (openwebosproject, openlgtv) die aan de firmware werken. Van deze gemeenschappen kunt u de firmware van het besturingssysteem downloaden en uw eigen onderzoek doen.

OpenWebOS-community
OpenLGTv-community

Aansluiting op Smart TV

De eerste stap om een systeem te hacken, is om het systeem te leren kennen. Om de architectuur te begrijpen en het verkeer te monitoren dat je Smart TV verstuurt, moet je je computer verbinden met de Smart TV. Om op firmware niveau te komen moet je verbinding maken via de RS-232C interface. U kunt eenvoudig verbinding maken met behulp van RS-232 kabel van de televisie naar de computer USB.

In het algemeen raden wij Linux-besturingssysteem. Er zijn meldingen van gebruikers die problemen ondervinden met sommige USB2Serial adapters onder Windows 7, dus op dit moment raden wij Windows XP aan voor het gebruik van USB2Serial adapters.

LG_USB-Serial_adapter_kabel

Start de TV op en ga naar het menu ‘Opties’ met de afstandsbediening en let erop dat Set ID is ingesteld op 1. U heeft een terminal emulatie programma nodig, zoals Hyperterminal of Putty. Stel de volgende configuratie in 9600 of 115200 baud (op recente firmwares is er nu standaard 115200bps baudrate), 8N1, XON/XOFF. Datalengte: 8 bits, Pariteit: Geen, Stop bit: 1 bit, Communicatie code: ASCII code. Door de volgende commando’s uit te voeren kunt u de verbinding controleren. Er zijn veel verschillende commando’s om met het systeem te spelen.

LG-Serial-commands

Transmission / Receiving Protocol

: Eerste commando om de set te besturen.(j, k, m of x) : Tweede commando om de set te besturen.

: U kunt de set ID aanpassen om het gewenste set ID nummer te kiezen in het Option menu. Het instelbereik is 1~ 99. Als u Set ID 0 selecteert, wordt elke aangesloten set aangestuurd. Set ID wordt aangegeven als decimaal (1~ 99) in het menu en als hexadecimaal (0x0~ 0x63) in het zend-/ontvangstprotocol.

: Om de commandogegevens te zenden. Verzend de FF data om de status van het commando te lezen.

: Carriage Return ASCII code 0x0D

: ASCII code space (0x20) * In dit model, zal de set de status niet verzenden tijdens de standby mode.

OK Acknowledgement

De set zendt ACK (bevestiging) op basis van dit formaat bij ontvangst van normale data. Op dit ogenblik, als de gegevens lezenwijze zijn, wijst het op huidige statusgegevens. Als de gegevens schrijven-modus is, geeft het de gegevens van de PC-computer.

* In dit model, zal de set niet de status verzenden tijdens de standby-modus. * Data Formaat : Gebruik als commando : Gebruik het kleine karakter, als de set ID 10 is, zal het de 0, a. zenden : Gebruik het kleine karakter, als de data 0 x ab is, zal het de a, b. zenden : Gebruik het grote karakter.

Error Acknowledgement

De set zendt ACK (bevestiging) gebaseerd op dit formaat wanneer het abnormale data ontvangt van niet-levensvatbare functies of communicatie fouten.

Data01: Illegale Code Data02: Niet ondersteunde functie Data03: Wacht meer tijd * In dit model, zal de set de status niet zenden tijdens de standby mode. * Data Formaat : Gebruik als commando: Gebruik het kleine karakter, als set ID 10 is, stuurt het de 0, a. Gebruik het kleine karakter, als data 0 x ab is, stuurt het de a, b. Gebruik het grote karakter.

Power (Commando: k a)

Om aan/uit van de set te regelen.

Transmissie

Data 00: Uitschakelen Data 01: Inschakelen

Bevestiging

* Op dezelfde manier, als andere functies ‘FF’ data zenden op basis van dit formaat, geeft de Bevestiging data feedback over de status van elke functie.

* Opmerking: In dit model zendt de set de bevestiging nadat de inschakeling is voltooid.

Er kan een tijd verlopen tussen het commando en de bevestiging.

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

Of u kunt ook scripts gebruiken die op internet beschikbaar zijn, zoals libLGTV_serial. Mike Stevans, professor in de cursus ethisch hacken, legt uit dat libLGTV_serial een Python-bibliotheek is om LG-tv’s (of monitoren met seriële poorten) te bedienen via hun seriële poort (RS232).

LGserial-github

LG TV USB IR-Hack met Arduino

Je kunt je LG TV eenvoudig hacken met een adruino kaart via het uploaden van scripts.

Deze infrarood remote library bestaat uit twee delen: IRsend verzendt IR remote pakketten, terwijl IRrecv een IR bericht ontvangt en decodeert.

#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

U kunt meer leren over adruino hacks van Github projecten en open source gemeenschappen.

Hoe USB speler te activeren via serieel

  1. Sluit PC aan via COM poort of USB2COM (USB-naarRS232) adapter in RS232 connector op de TV
  2. Run terminal programma op de PC (hyperterminal of putty bijvoorbeeld)
  3. Stel volgende parameters in voor COM poort: snelheid 9600, flow control: geen. Laat alle andere op de standaardwaarden.
  4. In terminal enter: “ab 0 ff” en druk op “Enter”. U zou het volgende antwoord moeten krijgen: “01 ok????x”, waar ???? het Tool optienummer is. Onthoud het of schrijf het op een stuk papier.
  5. Om de USB media speler te activeren voert u in: “ab 0 6″ en druk op enter.
  6. Schakel de TV uit/aan. Het USB-pictogram moet in het hoofdmenu van de TV verschijnen.

Custom Firmwares

U kunt oude firmware’s downloaden van officiele LG websites of van Internet forums. Deze firmware wordt aangepast aan de behoeften van de gebruiker.

LG-firmware
LG-hack-forum

Mike Stevens, professor in een cursus hacken in Mexico, legt uit dat iedereen met behulp van seriële commando’s, scripts en kwetsbaarheden een smart-tv kan hacken. Enkele van de bekende kwetsbaarheden waarvoor verschillende exploits beschikbaar zijn op de zwarte markt zijn:

Weak Authentication

Het protocol is zeer eenvoudig in termen van authenticatie en het authenticatiepakket heeft alleen een IP-adres, een MAC-adres en een hostnaam nodig voor authenticatie. Je kunt het protocol gemakkelijk breken. Ook de authenticatie aan de client kant is niet zo sterk. Het protocol kan ook niet omgaan met NULL MAC adres authenticatie en dus kan elk apparaat met NULL MAC adres waarde verbinding maken met de TV.

Vulkwetsbare TV’s APIs

Een hacker kan malware hacken en installeren via TV’s APIs zoals File.Unzip of Skype. Deze kunnen worden gebruikt om bestanden te kopiëren naar elk schrijfbaar bestandssysteem op het doelwit en een backdoor te installeren.

Man in Middle aanvalskwetsbaarheden

Door gebruik te maken van MIM aanvalskwetsbaarheden kan een hacker de data sniffen omdat TV geen server certificaten controleert. Dus met valse certificaten kan een hacker gemakkelijk een Man in Middle aanval doen.

Volgens deskundigen op het gebied van informatiebeveiliging en opleiding is het maken van malware voor Smart TV niet zo verschillend van het maken van malware voor PC’s of Linux-systemen. Het basis OS is Linux en heeft kwetsbaarheden. Dus door gebruik te maken van de seriële commando’s en kwetsbaarheden kan een hacker gemakkelijk inbreken in een smart TV. Ook omdat er geen anti-virussen of anti-malware oplossingen beschikbaar zijn voor smart TV’s, wordt het dus makkelijker voor een hacker om in te breken in Smart TV’s.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.