Originalmente chamadas “TVs ligadas”, e agora são chamadas de “smart TVs”. Qualquer televisão que possa ser conectada à Internet para acessar serviços, usar aplicativos e se comportar de alguma forma como nossos computadores com web browser. As TVs inteligentes se conectam à Internet via conexão Ethernet com fio ou Wi-Fi em uma rede doméstica. As TVs inteligentes requerem chips de computador para fazer malabarismos com o processamento de vídeo, várias telas e uma conexão à Internet. Elas também usam memória para armazenar o streaming de vídeo e música, e precisam de poder de processamento adicional para lidar com gráficos. As TVs podem ser controladas por comandos de voz e por aplicativos executados em algum Smartphone.

Dan Reynolds, especialista em segurança da informação e em treinamento do Instituto Internacional de Segurança Cibernética explica que essas TVs Smart não são tão inteligentes e que a segurança do software não é exatamente perfeita. As TVs inteligentes se parecem com a Internet das coisas (IoT), mas as antigas vulnerabilidades que eram consideradas como tendo desaparecido completamente são novas vulnerabilidades novamente na Internet das Coisas (IoT). Às vezes você pode facilmente encontrar uma falha que pode permitir que você tome várias ações na TV, incluindo acessar dados potencialmente sensíveis, arquivos remotos e imagem de drive e, eventualmente, obter acesso root ao dispositivo.

Smart hacking television

No artigo estaremos cobrindo diferentes aspectos das duas marcas mais famosas de Smart TVs, Samsung e LG, com a ajuda do professor do curso de hacking ético do IIcybersecurity.

Understanding SAMSUNG SMART TV Operating system

Tizen é um sistema operacional baseado no kernel Linux e na GNU C Library implementando a API Linux. É dirigido a uma gama muito ampla de dispositivos, incluindo telefones inteligentes, tablets, dispositivos IVI (in-vehicle infotainment), TVs inteligentes, PCs, câmeras inteligentes, computação wearable, reprodutores Blu-ray, impressoras e eletrodomésticos inteligentes. O seu objectivo é oferecer uma experiência consistente ao utilizador em todos os dispositivos. Tizen teria sido implementado nos televisores Samsung a partir de 2015.

Tizen-OS-arquitectura

Há algumas comunidades online que estão a trabalhar na pesquisa do sistema operativo de TV inteligente da Samsung, como Sammygo, menciona Dan Reynolds, especialista em soluções de segurança da informação e formação.

>
sammygo-forum
sammy-go-samsung

Como fazer análises sobre o firmware da Samsung Smart TV

ConectorExLink consiste num cabo que tem de um lado um conector de 3,5mm, como os de áudio, e do outro lado um conector RS232 ( Serial ) DB9. Este cabo lhe permitirá conectar seu computador à TV, e entrar no modo Serial. Com isto você pode usar um Software de Comunicação serial, como Hyperterminal, Putty do Windows ou Linux.

Ex-link-connector-samsung

Conectando à Samsung TV

  1. Põe a TV em modo Standby, pressione então e quando a TV se ligar ela mostrará um novo Menu de Serviço.
  2. Activar a opção Hotel, e Definir a interface RS-232 para UART.
  3. Utilizar o botão Ligar e depois desligar e ligar novamente a TV.

A TV deve agora estar pronta para comunicação com o seu PC.

Conectar Wireshark com Smasung Smart TV

Existe um dissecador Wireshark para o protocolo Samsung SmartTV.

>
Dissector Wireshark-Samsung

Este dissector permite filtrar as capturas de wirehark e descodificar os pacotes de controlo remoto que são enviados para a TV através de WiFi e os pacotes que são enviados da TV para a unidade de controlo remoto. Este plugin wireshark, permite a simples criação declarativa dos seus próprios dissectores para protocolos personalizados.

Para instalar o dissector na sua instalação wireshark, você precisa fazer as seguintes acções:

Download version of WSGD que corresponde à sua versão wireshark e à arquitectura da máquina e depois colocá-la na sua pasta de plugins wireshark. Descompacte arquivos de dissecção (ex. /usr/lib/wireshark/libwireshark0/plugins/).

Para ver a dissecção em ação você pode fazer isso:

  • Executar a wireshark com a dissecção instalada. Baixe o arquivo de captura de amostra e abra-o em wireshark.
  • Digite samsung_remote no campo do filtro e veja o pacote remoto filtrado Samsung.
  • Clique em um dos pacotes marcados com o protocolo SR e veja os dados do pacote decodificado.
Dissector-Samsung-wiresahrk

Pode testar a conexão com alguns dos comandos

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: \x08x22x0a x00x00x00x00xcc
Volume para cima : \Volume Para Baixo: \x08x22x01x01x00x01x00xd4
Volume Para Baixo: \x08x22x01x00x02x00xd3
Mute Toggle : \x08x22x02x00x00x00x00xd4
Speaker On : \x08x22x0c0c0x06x00x00x00xc4
Disparador Desligado : x08x22x0c0c0x06x00x01xc3
HDMI 2 : x08x22x0a0x00x05x01xc6
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

Alguns modelos de televisores Samsung têm uma opção, para fazer a TV funcionar quando estiverem instalados em hotéis. Isso faz com que a TV funcione em um ambiente isolado que protege algumas funções das modificações que os hóspedes do hotel querem fazer. Você pode usar os passos mencionados abaixo para hackear o modo de TV do hotel e root-lo.

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

>

Há muitos projetos independentes relacionados com a TV inteligente da Samsung no Github Como a Samsung-Remote menciona Dan Reynolds, solução de segurança da informação e especialista em treinamento.

>
Github-Samsung

Sistema operacional LG SMART TV

Quando você compra uma LG Smart TV você recebe uma LG TV com sistema operacional WebOS. WebOS, também conhecido como LG WebOS, Open WebOS, HP WebOS, ou Palm WebOS, é um sistema operacional Linux baseado no kernel para dispositivos inteligentes como TVs e relógios inteligentes e era anteriormente um sistema operacional móvel. Inicialmente desenvolvido pela Palm, que foi adquirido pela Hewlett-Packard. A HP fez a plataforma open source, e ela se tornou Open WebOS. O sistema operacional foi posteriormente vendido para LG Electronics.

OpenWebOS-arquitetura

Como o WebOS é código aberto, existem algumas comunidades de código aberto online como (openwebosproject, openlgtv) trabalhando sobre o firmware. A partir dessas comunidades você pode baixar o firmware do sistema operacional e fazer sua própria pesquisa.

OpenWebOS-community
>
OpenLGTv-community

Conectar à Smart TV

Primeiro passo para hackear qualquer sistema é saber sobre o sistema. Para compreender a arquitetura e monitorar o tráfego que sua Smart TV está enviando, você terá que conectar seu computador com a Smart TV. Para chegar ao nível do firmware terá de se ligar através da interface RS-232C. Você pode conectar-se facilmente usando o cabo RS-232 da televisão ao USB do computador.

Em geral, recomendamos o sistema operacional Linux. Há relatórios de usuários, enfrentando problemas com alguns adaptadores USB2Serial no Windows 7, portanto, no momento recomendamos o Windows XP para usar adaptadores USB2Serial.

LG_USB-Serial_adapter_cable

Inicie a TV e vá para o menu ‘Options’ usando o controle remoto e considere Set ID is set to 1. Você vai precisar de um programa de emulação de terminal como Hyperterminal ou Putty. Defina a seguinte configuração 9600 ou 115200 baud (em firmwares recentes há agora 115200bps baudrate por padrão), 8N1, XON/XOFF. Comprimento dos dados: 8 bits, Paridade: Nenhum, Bit de paragem: 1 bit, Código de comunicação: Código ASCII. Ao emitir os seguintes comandos você pode verificar a conexão. Existem muitos comandos diferentes para jogar com o sistema.

LG-Serial-commands

Transmissão / Protocolo de recepção

: Primeiro comando para controlar o conjunto.(j, k, m ou x) : Segundo comando para controlar o conjunto.

: Você pode ajustar o ID do conjunto para escolher o número de ID do conjunto desejado no menu Opção. O intervalo de ajuste é de 1~ 99. Ao seleccionar Set ID 0, todos os conjuntos ligados são controlados. Set ID é indicado como decimal (1~ 99) no menu e como Hexa decimal (0x0~ 0x63) na transmissão / protocolo de recepção.

: Para transmitir os dados do comando. Transmita os dados FF para ler o estado do comando.

: Código ASCII de retorno do carro 0x0D

: Espaço de código ASCII (0x20) * Neste modelo, o set não enviará o estado durante o modo standby.

OK Acknowledgement

O set transmite ACK (acknowledgement) baseado neste formato quando recebe dados normais. Neste momento, se os dados forem em modo de leitura de dados, ele indica os dados de status presentes. Se os dados forem em modo de gravação de dados, ele retorna os dados do computador PC.

* Neste modelo, o set não enviará o status durante o modo de espera. * Formato dos dados : Use como comando. : Use o caractere pequeno, se o ID definido for 10, ele enviará o 0, a. : Use o caractere pequeno, se os dados forem 0 x ab, ele enviará o a, b. : Use o caractere grande.

Error Acknowledgement

O conjunto transmite ACK (acknowledgement) baseado neste formato ao receber dados anormais de funções não viáveis ou erros de comunicação.

Data01: Illegal Code Data02: Função não suportada Data03: Aguarde mais tempo * Neste modelo, o conjunto não enviará o status durante o modo standby. * Formato dos dados : Use como comando. : Use o caractere pequeno, se o ID definido for 10, ele enviará o 0, a. : Use o caractere pequeno, se os dados forem 0 x ab, ele enviará o a, b. : Use o caractere grande.

Power (Comando: k a)

Para controlar Power On/Off do conjunto.

Transmissão

Dados 00: Dados de Desligamento 01: Ligado

Conhecimento

* De forma semelhante, se outras funções transmitem dados ‘FF’ com base neste formato, o feedback de reconhecimento de dados apresenta o estado sobre cada função.

* Nota: Neste modelo, o conjunto enviará a Confirmação após a conclusão do processamento.

Pode haver um atraso de tempo entre o comando e a confirmação.

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

Ou você também pode usar scripts disponíveis na Internet como libLGTV_serial. Mike Stevans, professor do curso de hacking ético explica que a libLGTV_serial é uma biblioteca Python para controlar TVs LG (ou monitores com portas seriais) através de sua porta serial (RS232).

LGerial-github

LG TV USB IR-Hack com Arduino

Você pode facilmente hackear sua TV LG com uma placa adruino através do upload de scripts.

Esta biblioteca de infravermelho remoto consiste de duas partes: IRsend transmite pacotes remotos IR, enquanto IRrecv recebe e decodifica uma mensagem 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

Você pode aprender mais sobre hacks de adruino com projetos Github e comunidades de código aberto.

Como activar o leitor USB via série

  1. Conectar o PC via porta COM ou adaptador USB2COM (USBtoRS232) no conector RS232 na TV
  2. Executar programa terminal no PC (hiperterminal ou putty por exemplo)
  3. Configurar os seguintes parâmetros para a porta COM: velocidade 9600, controlo de fluxo: nenhum. Deixe todos os outros nos valores padrão.
  4. Em terminal enter: “ab 0 ff” e pressione “Enter”. Deve obter a seguinte resposta “01 ok????x”, onde ???? é o número da opção Ferramenta. Lembre-se ou escreva no pedaço de papel.
  5. Para ativar o USB media player enter: “ab 0 6″ e pressione enter.
  6. Switch off/on the TV. O ícone USB deve aparecer no menu principal da TV.

Custom Firmwares

Pode descarregar firmware antigo de sites oficiais da LG ou para fóruns da Internet. Estes firmware são personalizados conforme as necessidades do usuário.

LG-firmware
LG-hack-forum

Mike Stevens, professora do curso de hacking no México explica que junto com os comandos seriais, scripts e junto com as vulnerabilidades qualquer um pode hackear uma TV inteligente. Algumas das vulnerabilidades conhecidas para as quais diferentes explorações estão disponíveis no mercado negro são:

Weak Authentication

O protocolo é muito simples em termos de autenticação e o pacote de autenticação só precisa de um endereço IP, um endereço MAC e um hostname para autenticação. Você pode facilmente quebrar o protocolo. Também a autenticação do lado do cliente não é tão forte assim. O protocolo também não lida com a autenticação do valor de endereço MAC NULL e, portanto, qualquer dispositivo com valor de endereço MAC NULL pode se conectar à TV.

APIs de TV vulneráveis

Um hacker pode hackear e instalar malware através das APIs da TV, como File.Unzip ou Skype. Elas podem ser usadas para copiar arquivos para qualquer sistema de arquivo gravável no alvo e instalar uma backdoor.

Vulnerabilidades de ataque do tipo Middle attack

Usando vulnerabilidades de ataque MIM, um hacker pode farejar os dados, pois a TV não verifica os certificados do servidor. Assim, com certificados falsos, um hacker pode facilmente fazer o Man in Middle attack.

Como por solução de segurança de informação e treinando especialistas, criar malware para Smart TV não é tão diferente de criar malware para PCs ou sistemas Linux. O SO base é Linux e tem vulnerabilidades. Assim, usando os comandos em série e as vulnerabilidades, um hacker pode facilmente invadir uma TV inteligente. Também como não há soluções anti-vírus ou anti malware disponíveis para TVs inteligentes, torna-se mais fácil para um hacker hackear uma TV inteligente.

Deixe uma resposta

O seu endereço de email não será publicado.